<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>set_data_code_2d_param [HALCON算子参考手册]</title>
<style type="text/css">
      body {
    color: #000000;
    background-color: #ffffff;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.body_main {
    margin-left: 35px;
    margin-right: 35px;
}

@media screen and (min-width:992px) {

    .body_main {
        margin-left: 10%;
        margin-right: 10%;
    }

    table.toctable {
        width: 80%
    }
}

@media screen and (min-width:1400px) {

    .body_main {
        margin-left: 15%;
        margin-right: 15%;
    }

    table.toctable {
        width: 70%
    }
}

body>div ul ul {
    margin-left: inherit;
}

a:link {
    color: #0044cc;
}

a:link,
a:visited {
    text-decoration: none;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
    color: #666666;
}

code {
    font-family: monospace,monospace;
}

h1 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

h2 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

hr {
    border: 0;
    border-top: solid 1px #f28d26;
}

.pre {
    display: block;
    padding-bottom: 1ex;
    font-family: monospace;
    white-space: pre;
}

pre {
    font-family: monospace, monospace;
    padding: 1ex;
    white-space: pre-wrap;
}

.toc {
    font-size: 80%;
    border-top: 1px dashed #f28d26;
    border-bottom: 1px dashed #f28d26;
    padding-top: 5px;
    padding-bottom: 5px;
}

.inv {
    margin: 0;
    border: 0;
    padding: 0;
}

.banner {
    color: #666666;
    padding-left: 1em;
}

.logo {
    background-color: white;
}

.keyboard {
    font-size: 80%;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: #f28d26;
    background-color: #f3f3f3;
}

.warning {
    margin-top: 2ex;
    margin-bottom: 1ex;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    color: #bb0000;
    background-color: #fff7f7
}

.imprint {
    margin-top: 1ex;
    font-size: 80%;
    color: #666666;
}

.imprinthead {
    font-weight: bolder;
    color: #666666;
}

.indexlink {
    text-align: right;
    padding-bottom: 5px;
}

.postscript {
    margin-top: 2ex;
    font-size: 80%;
    color: #666666
}

.evenrow {
    background-color: #e7e7ef;
    vertical-align: top;
}

.oddrow {
    background-color: #f7f7ff;
    vertical-align: top;
}

.headrow {
    background-color: #97979f;
    color: #ffffff;
    vertical-align: top;
}

.logorow {
    vertical-align: top;
}

.error {
    color: red;
}

.var {
    font-style: italic
}

.halconoperator {
    font-family: monospace, monospace;
}

span.operator {
    font-family: monospace, monospace;
}

span.procedure {
    font-family: monospace, monospace;
}

span.operation {
    font-family: monospace, monospace;
}

span.feature {
    font-family: Arial, Helvetica, Homerton, sans-serif;
}

ul {
    padding-left: 1.2em;
}

li.dot {
    list-style-type: square;
    color: #f28d26;
}

.breadcrumb {
    font-size: 80%;
    color: white;
    background-color: #062d64;
    margin-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 15px;
}

.webbar {
    font-size: 80%;
    background-color: #dddddd;
    margin-top: 0px;
    margin-left: -35px;
    margin-right: -35px;
    margin-bottom: 0px;
    padding-top: 5px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 5px;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px dashed #f28d26;
    font-size: 80%;
    color: #666666;
    padding-bottom: 8px;
}

.footer .socialmedia a {
    padding-left: 7px;
}

.socialmedia {
    padding-top: 10px;
}

.copyright {
    margin-top: 19px;
}

.breadcrumb a {
    color: #ffffff;
    border-bottom: 1px solid white;
}

.breadcrumb a:link:hover,
.breadcrumb a:visited:hover {
    text-decoration: none;
    border-bottom: none;
}

.heading {
    margin-top: 1ex;
    font-size: 110%;
    font-weight: bold;
    color: #666666;
}

.text {
    color: black;
}

.example {
    font-size: 80%;
    background-color: #f3f3f3;
    border: 1px dashed #666666;
    padding: 10px;
}

.displaymath {
    display: block;
    text-align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

.title {
    float: left;
    padding-top: 3px;
    padding-bottom: 3px;
}

.signnote {
    font-family: Arial, Helvetica, Homerton, sans-serif;
    font-size: 80%;
    color: #666666;
    font-weight: lighter;
    font-style: italic
}

.par {
    margin-bottom: 1.5em;
}

.parhead {
    text-align: right;
}

.parname {
    float: left;
}

.pardesc {
    font-size: 85%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 2em;
}

.parcat {
    color: #666;
    font-weight: bold;
}

*[data-if=cpp],
*[data-if=c],
*[data-if=dotnet],
*[data-if=com],
*[data-if=python] {
    display: none;
}

.tabbar {
    text-align: right;
    border-bottom: 1px solid #f28d26;
    margin-bottom: 0.5em;
}

ul.tabs {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 80%
}

ul.tabs li {
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline;
    overflow: hidden;
    list-style-type: none;
    margin: 0;
    margin-left: 8px;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
}

ul.tabs li.active {
    border-left: 1px solid #f28d26;
    border-right: 1px solid #f28d26;
    border-top: 1px solid #f28d26;
    border-bottom: 1px solid #fff;
}

ul.tabs li.inactive {
    background-color: #eee;
}

ul.tabs li a {
    padding-left: 5px;
    padding-right: 5px;
    color: #666;
}

ul.tabs li a:link:hover {
    text-decoration: none;
}

ul.tabs li.inactive a {
    color: #666;
}

ul.tabs li.active a {
    color: black;
}

dl.generic dd {
    margin-bottom: 1em;
}

.pari {
    color: olive;
}

.paro {
    color: maroon;
}

.comment {
    font-size: 80%;
    color: green;
    white-space: nowrap;
}

table.grid {
    border-collapse: collapse;
}

table.grid td {
    padding: 5px;
    border: 1px solid;
}

table.layout {
    border: 0px;
}

table.layout td {
    padding: 5px;
}

table.table {
    border-collapse: collapse;
}

table.table td {
    padding: 5px;
    border-left: 0px;
    border-right: 0px;
}

table.table tr:last-child {
    border-bottom: 1px solid;
}

table.table th {
    padding: 5px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 0px;
    border-right: 0px;
}

.details_summary {
    cursor: pointer;
}

table.toctable {
    width: 100%;
}

table.toctable col:first-child {
    width: 20%;
}

table.toctable col:nth-last-child(2) {
    width: 8%;
}

table.altcolored tr:nth-child(even) {
    background-color: #f3f3f3;
}

    </style>
<!--OP_REF_STYLE_END-->
<script>
    <!--
var active_lang='hdevelop';function switchVisibility(obj,active_lang,new_lang)
{var display_style='inline';
for(var i=0;i<obj.length;i++)
{if(obj.item(i).getAttribute('data-if')==new_lang)
{obj.item(i).style.display=display_style;}
if(obj.item(i).getAttribute('data-if')==active_lang)
{obj.item(i).style.display='none';}}
return;}
function toggleLanguage(new_lang,initial)
{if(active_lang!=new_lang)
{var lis=document.getElementsByTagName('li');for(var i=0;i<lis.length;i++)
{if(lis.item(i).id=='syn-'+new_lang)
{lis.item(i).className='active';}
else
{lis.item(i).className='inactive';}}
var divs=document.getElementsByTagName('div');var spans=document.getElementsByTagName('span');switchVisibility(divs,active_lang,new_lang);switchVisibility(spans,active_lang,new_lang);if(!initial)
{setCookie("halcon_reference_language",new_lang,null,null);}
active_lang=new_lang;}
return;}
function setCookie(name,value,domain,exp_offset,path,secure)
{localStorage.setItem(name,value);}
function getCookie(name)
{return localStorage.getItem(name);}
function initialize()
{var qs=location.href.split('?')[1];var qs_lang_raw=location.href.split('interface=')[1];var qs_lang;if(qs_lang_raw)
{qs_lang=qs_lang_raw.split('#')[0];}
var cookie_lang=getCookie("halcon_reference_language");var new_lang;if((qs_lang=="hdevelop")||(qs_lang=="dotnet")||(qs_lang=="python")||(qs_lang=="cpp")||(qs_lang=="c"))
{new_lang=qs_lang;setCookie("halcon_reference_language",new_lang,null,null);}
else if((cookie_lang=="hdevelop")||(cookie_lang=="dotnet")||(cookie_lang=="python")||(cookie_lang=="cpp")||(cookie_lang=="c"))
{new_lang=cookie_lang;}
else
{new_lang="hdevelop";}
toggleLanguage(new_lang,1);return;}
-->

  </script>
</head>
<body onload="initialize();">
<div class="breadcrumb">
<br class="inv"><a href="index.html">目录</a> / <a href="toc_identification.html">Identification</a> / <a href="toc_identification_datacode.html">Data Code</a><br class="inv">
</div>
<div class="body_main">
<div class="tabbar"><ul class="tabs">
<li id="syn-hdevelop" class="active"><a href="javascript:void(0);" onclick="toggleLanguage('hdevelop')" onfocus="blur()">HDevelop</a></li>
<li id="syn-dotnet" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('dotnet')" onfocus="blur()">.NET</a></li>
<li id="syn-python" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('python')" onfocus="blur()">Python</a></li>
<li id="syn-cpp" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('cpp')" onfocus="blur()">C++</a></li>
<li id="syn-c" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('c')" onfocus="blur()">C</a></li>
</ul></div>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<!--OP_REF_HEADER_END-->
<h1 id="sec_name">
<span data-if="hdevelop" style="display:inline;">set_data_code_2d_param</span><span data-if="c" style="display:none;">T_set_data_code_2d_param</span><span data-if="cpp" style="display:none;">SetDataCode2dParam</span><span data-if="dotnet" style="display:none;">SetDataCode2dParam</span><span data-if="python" style="display:none;">set_data_code_2d_param</span> (算子名称)</h1>
<h2>名称</h2>
<p><code><span data-if="hdevelop" style="display:inline;">set_data_code_2d_param</span><span data-if="c" style="display:none;">T_set_data_code_2d_param</span><span data-if="cpp" style="display:none;">SetDataCode2dParam</span><span data-if="dotnet" style="display:none;">SetDataCode2dParam</span><span data-if="python" style="display:none;">set_data_code_2d_param</span></code> — Set selected parameters of the 2D data code model.</p>
<h2 id="sec_synopsis">参数签名</h2>
<div data-if="hdevelop" style="display:inline;">
<p>
<code><b>set_data_code_2d_param</b>( :  : <a href="#DataCodeHandle"><i>DataCodeHandle</i></a>, <a href="#GenParamName"><i>GenParamName</i></a>, <a href="#GenParamValue"><i>GenParamValue</i></a> : )</code></p>
</div>
<div data-if="c" style="display:none;">
<p>
<code>Herror <b>T_set_data_code_2d_param</b>(const Htuple <a href="#DataCodeHandle"><i>DataCodeHandle</i></a>, const Htuple <a href="#GenParamName"><i>GenParamName</i></a>, const Htuple <a href="#GenParamValue"><i>GenParamValue</i></a>)</code></p>
</div>
<div data-if="cpp" style="display:none;">
<p>
<code>void <b>SetDataCode2dParam</b>(const HTuple&amp; <a href="#DataCodeHandle"><i>DataCodeHandle</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>)</code></p>
<p>
<code>void <a href="HDataCode2D.html">HDataCode2D</a>::<b>SetDataCode2dParam</b>(const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>) const</code></p>
<p>
<code>void <a href="HDataCode2D.html">HDataCode2D</a>::<b>SetDataCode2dParam</b>(const HString&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HString&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>) const</code></p>
<p>
<code>void <a href="HDataCode2D.html">HDataCode2D</a>::<b>SetDataCode2dParam</b>(const char* <a href="#GenParamName"><i>GenParamName</i></a>, const char* <a href="#GenParamValue"><i>GenParamValue</i></a>) const</code></p>
<p>
<code>void <a href="HDataCode2D.html">HDataCode2D</a>::<b>SetDataCode2dParam</b>(const wchar_t* <a href="#GenParamName"><i>GenParamName</i></a>, const wchar_t* <a href="#GenParamValue"><i>GenParamValue</i></a>) const  <span class="signnote">
            (
            Windows only)
          </span></code></p>
</div>
<div data-if="com" style="display:none;"></div>
<div data-if="dotnet" style="display:none;">
<p>
<code>static void <a href="HOperatorSet.html">HOperatorSet</a>.<b>SetDataCode2dParam</b>(<a href="HTuple.html">HTuple</a> <a href="#DataCodeHandle"><i>dataCodeHandle</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>)</code></p>
<p>
<code>void <a href="HDataCode2D.html">HDataCode2D</a>.<b>SetDataCode2dParam</b>(<a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>)</code></p>
<p>
<code>void <a href="HDataCode2D.html">HDataCode2D</a>.<b>SetDataCode2dParam</b>(string <a href="#GenParamName"><i>genParamName</i></a>, string <a href="#GenParamValue"><i>genParamValue</i></a>)</code></p>
</div>
<div data-if="python" style="display:none;">
<p>
<code>def <b>set_data_code_2d_param</b>(<a href="#DataCodeHandle"><i>data_code_handle</i></a>: HHandle, <a href="#GenParamName"><i>gen_param_name</i></a>: MaybeSequence[str], <a href="#GenParamValue"><i>gen_param_value</i></a>: MaybeSequence[Union[int, str, float]]) -&gt; None</code></p>
</div>
<h2 id="sec_description">描述</h2>
<p>该算子 <code><span data-if="hdevelop" style="display:inline">set_data_code_2d_param</span><span data-if="c" style="display:none">set_data_code_2d_param</span><span data-if="cpp" style="display:none">SetDataCode2dParam</span><span data-if="com" style="display:none">SetDataCode2dParam</span><span data-if="dotnet" style="display:none">SetDataCode2dParam</span><span data-if="python" style="display:none">set_data_code_2d_param</span></code> is used to set or change
the different parameters of a 2D data code model in order to
adapt the model to a particular symbol appearance.
All parameters can also be set while creating a 2D data code model
with <a href="create_data_code_2d_model.html"><code><span data-if="hdevelop" style="display:inline">create_data_code_2d_model</span><span data-if="c" style="display:none">create_data_code_2d_model</span><span data-if="cpp" style="display:none">CreateDataCode2dModel</span><span data-if="com" style="display:none">CreateDataCode2dModel</span><span data-if="dotnet" style="display:none">CreateDataCode2dModel</span><span data-if="python" style="display:none">create_data_code_2d_model</span></code></a>.
The current configuration of the data code model can be queried with
<a href="get_data_code_2d_param.html"><code><span data-if="hdevelop" style="display:inline">get_data_code_2d_param</span><span data-if="c" style="display:none">get_data_code_2d_param</span><span data-if="cpp" style="display:none">GetDataCode2dParam</span><span data-if="com" style="display:none">GetDataCode2dParam</span><span data-if="dotnet" style="display:none">GetDataCode2dParam</span><span data-if="python" style="display:none">get_data_code_2d_param</span></code></a>.
A list with the names of all parameters that can be set for the
given 2D data code type is returned by
<a href="query_data_code_2d_params.html"><code><span data-if="hdevelop" style="display:inline">query_data_code_2d_params</span><span data-if="c" style="display:none">query_data_code_2d_params</span><span data-if="cpp" style="display:none">QueryDataCode2dParams</span><span data-if="com" style="display:none">QueryDataCode2dParams</span><span data-if="dotnet" style="display:none">QueryDataCode2dParams</span><span data-if="python" style="display:none">query_data_code_2d_params</span></code></a>.
</p>
<p>For an explanation of the concept of the 2D data code reader
see the introduction of chapter <a href="toc_identification_datacode.html">Identification / Data Code</a>.
</p>
<p>Note that the symbol structure of GS1 DataMatrix, GS1 QR Code,
GS1 Aztec Code, and GS1 DotCode is identical to the structure of
Data Matrix ECC 200, QR Code, Aztec Code, and DotCode, respectively.
Therefore, all symbology specific parameters applying to Data Matrix ECC 200,
QR Code, Aztec Code, or DotCode apply to their corresponding GS1variant as well.
In the following, the explicit enumeration of the
parameters for any particular GS1 code is omitted for sake of readability.
Instead, the relevant parameters names are to be inferred from the
parameters for the corresponding non-GS1 code type or can be explicitly
queried by <a href="query_data_code_2d_params.html"><code><span data-if="hdevelop" style="display:inline">query_data_code_2d_params</span><span data-if="c" style="display:none">query_data_code_2d_params</span><span data-if="cpp" style="display:none">QueryDataCode2dParams</span><span data-if="com" style="display:none">QueryDataCode2dParams</span><span data-if="dotnet" style="display:none">QueryDataCode2dParams</span><span data-if="python" style="display:none">query_data_code_2d_params</span></code></a> with parameter
<i><span data-if="hdevelop" style="display:inline">'set_model_params'</span><span data-if="c" style="display:none">"set_model_params"</span><span data-if="cpp" style="display:none">"set_model_params"</span><span data-if="com" style="display:none">"set_model_params"</span><span data-if="dotnet" style="display:none">"set_model_params"</span><span data-if="python" style="display:none">"set_model_params"</span></i>.
</p>
<p>The following overview lists the different generic parameters with
the respective value ranges and default values in standard mode
(<i><span data-if="hdevelop" style="display:inline">'standard_recognition'</span><span data-if="c" style="display:none">"standard_recognition"</span><span data-if="cpp" style="display:none">"standard_recognition"</span><span data-if="com" style="display:none">"standard_recognition"</span><span data-if="dotnet" style="display:none">"standard_recognition"</span><span data-if="python" style="display:none">"standard_recognition"</span></i>). If the default values in enhanced
mode (<i><span data-if="hdevelop" style="display:inline">'enhanced_recognition'</span><span data-if="c" style="display:none">"enhanced_recognition"</span><span data-if="cpp" style="display:none">"enhanced_recognition"</span><span data-if="com" style="display:none">"enhanced_recognition"</span><span data-if="dotnet" style="display:none">"enhanced_recognition"</span><span data-if="python" style="display:none">"enhanced_recognition"</span></i>) differ from those in the
standard mode, they are listed additionally. The same holds, if the
default values in the maximum mode <i><span data-if="hdevelop" style="display:inline">'maximum_recognition'</span><span data-if="c" style="display:none">"maximum_recognition"</span><span data-if="cpp" style="display:none">"maximum_recognition"</span><span data-if="com" style="display:none">"maximum_recognition"</span><span data-if="dotnet" style="display:none">"maximum_recognition"</span><span data-if="python" style="display:none">"maximum_recognition"</span></i>
differ from those in the enhanced mode:
</p>
<p><b>Basic default settings:</b>
</p>
<ul>

<li>
<p> All data code types:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'default_parameters'</span><span data-if="c" style="display:none">"default_parameters"</span><span data-if="cpp" style="display:none">"default_parameters"</span><span data-if="com" style="display:none">"default_parameters"</span><span data-if="dotnet" style="display:none">"default_parameters"</span><span data-if="python" style="display:none">"default_parameters"</span></i>:</b></dt>
<dd>
<p>

Reset all model parameters to one of the three basic
default settings <i>standard</i>, <i>enhanced</i>, or
<i>maximum</i> (see the following summary and
<a href="create_data_code_2d_model.html"><code><span data-if="hdevelop" style="display:inline">create_data_code_2d_model</span><span data-if="c" style="display:none">create_data_code_2d_model</span><span data-if="cpp" style="display:none">CreateDataCode2dModel</span><span data-if="com" style="display:none">CreateDataCode2dModel</span><span data-if="dotnet" style="display:none">CreateDataCode2dModel</span><span data-if="python" style="display:none">create_data_code_2d_model</span></code></a>).  In addition to the
parameter values, the training state of the model is reset.
<i>Values:</i> <i><span data-if="hdevelop" style="display:inline">'standard_recognition'</span><span data-if="c" style="display:none">"standard_recognition"</span><span data-if="cpp" style="display:none">"standard_recognition"</span><span data-if="com" style="display:none">"standard_recognition"</span><span data-if="dotnet" style="display:none">"standard_recognition"</span><span data-if="python" style="display:none">"standard_recognition"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'enhanced_recognition'</span><span data-if="c" style="display:none">"enhanced_recognition"</span><span data-if="cpp" style="display:none">"enhanced_recognition"</span><span data-if="com" style="display:none">"enhanced_recognition"</span><span data-if="dotnet" style="display:none">"enhanced_recognition"</span><span data-if="python" style="display:none">"enhanced_recognition"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'maximum_recognition'</span><span data-if="c" style="display:none">"maximum_recognition"</span><span data-if="cpp" style="display:none">"maximum_recognition"</span><span data-if="com" style="display:none">"maximum_recognition"</span><span data-if="dotnet" style="display:none">"maximum_recognition"</span><span data-if="python" style="display:none">"maximum_recognition"</span></i></p>
<p> <i>Default:</i>
<i><span data-if="hdevelop" style="display:inline">'standard_recognition'</span><span data-if="c" style="display:none">"standard_recognition"</span><span data-if="cpp" style="display:none">"standard_recognition"</span><span data-if="com" style="display:none">"standard_recognition"</span><span data-if="dotnet" style="display:none">"standard_recognition"</span><span data-if="python" style="display:none">"standard_recognition"</span></i></p>
<p> <i>Attention:</i> If
this parameter is set together with a list of other
parameters, this parameter must be at the first position.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'trained'</span><span data-if="c" style="display:none">"trained"</span><span data-if="cpp" style="display:none">"trained"</span><span data-if="com" style="display:none">"trained"</span><span data-if="dotnet" style="display:none">"trained"</span><span data-if="python" style="display:none">"trained"</span></i>:</b></dt>
<dd>
<p>

Set for the given parameters the training state to trained.
The next training will not overwrite this parameters.
If necessary only the parameter range is extended to cover the already
trained symbols.
For all possible parameters which can be trained see
<a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a>. With <i><span data-if="hdevelop" style="display:inline">'all'</span><span data-if="c" style="display:none">"all"</span><span data-if="cpp" style="display:none">"all"</span><span data-if="com" style="display:none">"all"</span><span data-if="dotnet" style="display:none">"all"</span><span data-if="python" style="display:none">"all"</span></i> the training
state of all trainable parameters is set to trained.
</p>
</dd>
</dl>

</li>
</ul>
<p><b>Size and shape of the symbol:</b>
</p>
<ul>

<li>
<p> Data matrix ECC 200 (including the finder pattern):</p>
<p>
<i>Attention:</i> After calling
<code><span data-if="hdevelop" style="display:inline">set_data_code_2d_param</span><span data-if="c" style="display:none">set_data_code_2d_param</span><span data-if="cpp" style="display:none">SetDataCode2dParam</span><span data-if="com" style="display:none">SetDataCode2dParam</span><span data-if="dotnet" style="display:none">SetDataCode2dParam</span><span data-if="python" style="display:none">set_data_code_2d_param</span></code> to change size or shape of
the symbol, the parameters are evaluated in the given
order. After each parameter, the consistency of the current
settings is checked, and if necessary the current settings
are adjusted. Therefore the order in which the changes are
done may influence the final setting.
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_cols_min'</span><span data-if="c" style="display:none">"symbol_cols_min"</span><span data-if="cpp" style="display:none">"symbol_cols_min"</span><span data-if="com" style="display:none">"symbol_cols_min"</span><span data-if="dotnet" style="display:none">"symbol_cols_min"</span><span data-if="python" style="display:none">"symbol_cols_min"</span></i>:</b></dt>
<dd>
<p>

Minimum number of module columns in the symbol.</p>
<p>
<i>Value range:</i> [<i>10</i>, <i>12</i>, <i>14</i>,
.. <i>144</i>]</p>
<p>
<i>Attention:</i> Changing <i><span data-if="hdevelop" style="display:inline">'symbol_cols_min'</span><span data-if="c" style="display:none">"symbol_cols_min"</span><span data-if="cpp" style="display:none">"symbol_cols_min"</span><span data-if="com" style="display:none">"symbol_cols_min"</span><span data-if="dotnet" style="display:none">"symbol_cols_min"</span><span data-if="python" style="display:none">"symbol_cols_min"</span></i> sets
<i><span data-if="hdevelop" style="display:inline">'symbol_shape'</span><span data-if="c" style="display:none">"symbol_shape"</span><span data-if="cpp" style="display:none">"symbol_shape"</span><span data-if="com" style="display:none">"symbol_shape"</span><span data-if="dotnet" style="display:none">"symbol_shape"</span><span data-if="python" style="display:none">"symbol_shape"</span></i> to <i><span data-if="hdevelop" style="display:inline">'any'</span><span data-if="c" style="display:none">"any"</span><span data-if="cpp" style="display:none">"any"</span><span data-if="com" style="display:none">"any"</span><span data-if="dotnet" style="display:none">"any"</span><span data-if="python" style="display:none">"any"</span></i>. If the size of the
current symbol is only consistent with one shape type
<i><span data-if="hdevelop" style="display:inline">'symbol_shape'</span><span data-if="c" style="display:none">"symbol_shape"</span><span data-if="cpp" style="display:none">"symbol_shape"</span><span data-if="com" style="display:none">"symbol_shape"</span><span data-if="dotnet" style="display:none">"symbol_shape"</span><span data-if="python" style="display:none">"symbol_shape"</span></i> is restricted to <i><span data-if="hdevelop" style="display:inline">'rectangle'</span><span data-if="c" style="display:none">"rectangle"</span><span data-if="cpp" style="display:none">"rectangle"</span><span data-if="com" style="display:none">"rectangle"</span><span data-if="dotnet" style="display:none">"rectangle"</span><span data-if="python" style="display:none">"rectangle"</span></i> or
<i><span data-if="hdevelop" style="display:inline">'square'</span><span data-if="c" style="display:none">"square"</span><span data-if="cpp" style="display:none">"square"</span><span data-if="com" style="display:none">"square"</span><span data-if="dotnet" style="display:none">"square"</span><span data-if="python" style="display:none">"square"</span></i>.</p>
<p>
<i>Default:</i> <i>10</i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_cols_max'</span><span data-if="c" style="display:none">"symbol_cols_max"</span><span data-if="cpp" style="display:none">"symbol_cols_max"</span><span data-if="com" style="display:none">"symbol_cols_max"</span><span data-if="dotnet" style="display:none">"symbol_cols_max"</span><span data-if="python" style="display:none">"symbol_cols_max"</span></i>:</b></dt>
<dd>
<p>

Maximum number of module columns in the symbol.</p>
<p>
<i>Value range:</i> [<i>10</i>, <i>12</i>, <i>14</i>,
.. <i>144</i>]</p>
<p>
<i>Attention:</i> Changing <i><span data-if="hdevelop" style="display:inline">'symbol_cols_max'</span><span data-if="c" style="display:none">"symbol_cols_max"</span><span data-if="cpp" style="display:none">"symbol_cols_max"</span><span data-if="com" style="display:none">"symbol_cols_max"</span><span data-if="dotnet" style="display:none">"symbol_cols_max"</span><span data-if="python" style="display:none">"symbol_cols_max"</span></i> sets
<i><span data-if="hdevelop" style="display:inline">'symbol_shape'</span><span data-if="c" style="display:none">"symbol_shape"</span><span data-if="cpp" style="display:none">"symbol_shape"</span><span data-if="com" style="display:none">"symbol_shape"</span><span data-if="dotnet" style="display:none">"symbol_shape"</span><span data-if="python" style="display:none">"symbol_shape"</span></i> to <i><span data-if="hdevelop" style="display:inline">'any'</span><span data-if="c" style="display:none">"any"</span><span data-if="cpp" style="display:none">"any"</span><span data-if="com" style="display:none">"any"</span><span data-if="dotnet" style="display:none">"any"</span><span data-if="python" style="display:none">"any"</span></i>. If the size of the
current symbol is only consistent with one shape type
<i><span data-if="hdevelop" style="display:inline">'symbol_shape'</span><span data-if="c" style="display:none">"symbol_shape"</span><span data-if="cpp" style="display:none">"symbol_shape"</span><span data-if="com" style="display:none">"symbol_shape"</span><span data-if="dotnet" style="display:none">"symbol_shape"</span><span data-if="python" style="display:none">"symbol_shape"</span></i> is restricted to <i><span data-if="hdevelop" style="display:inline">'rectangle'</span><span data-if="c" style="display:none">"rectangle"</span><span data-if="cpp" style="display:none">"rectangle"</span><span data-if="com" style="display:none">"rectangle"</span><span data-if="dotnet" style="display:none">"rectangle"</span><span data-if="python" style="display:none">"rectangle"</span></i> or
<i><span data-if="hdevelop" style="display:inline">'square'</span><span data-if="c" style="display:none">"square"</span><span data-if="cpp" style="display:none">"square"</span><span data-if="com" style="display:none">"square"</span><span data-if="dotnet" style="display:none">"square"</span><span data-if="python" style="display:none">"square"</span></i>.</p>
<p>
<i>Default:</i> <i>144</i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_rows_min'</span><span data-if="c" style="display:none">"symbol_rows_min"</span><span data-if="cpp" style="display:none">"symbol_rows_min"</span><span data-if="com" style="display:none">"symbol_rows_min"</span><span data-if="dotnet" style="display:none">"symbol_rows_min"</span><span data-if="python" style="display:none">"symbol_rows_min"</span></i>:</b></dt>
<dd>
<p>

Minimum number of module rows in the symbol.</p>
<p>
<i>Value range:</i> [<i>8</i>, <i>10</i>, <i>12</i>,
.. <i>144</i>]</p>
<p>
<i>Attention:</i> Changing <i><span data-if="hdevelop" style="display:inline">'symbol_rows_min'</span><span data-if="c" style="display:none">"symbol_rows_min"</span><span data-if="cpp" style="display:none">"symbol_rows_min"</span><span data-if="com" style="display:none">"symbol_rows_min"</span><span data-if="dotnet" style="display:none">"symbol_rows_min"</span><span data-if="python" style="display:none">"symbol_rows_min"</span></i> sets
<i><span data-if="hdevelop" style="display:inline">'symbol_shape'</span><span data-if="c" style="display:none">"symbol_shape"</span><span data-if="cpp" style="display:none">"symbol_shape"</span><span data-if="com" style="display:none">"symbol_shape"</span><span data-if="dotnet" style="display:none">"symbol_shape"</span><span data-if="python" style="display:none">"symbol_shape"</span></i> to <i><span data-if="hdevelop" style="display:inline">'any'</span><span data-if="c" style="display:none">"any"</span><span data-if="cpp" style="display:none">"any"</span><span data-if="com" style="display:none">"any"</span><span data-if="dotnet" style="display:none">"any"</span><span data-if="python" style="display:none">"any"</span></i>. If the size of the
current symbol is only consistent with one shape type
<i><span data-if="hdevelop" style="display:inline">'symbol_shape'</span><span data-if="c" style="display:none">"symbol_shape"</span><span data-if="cpp" style="display:none">"symbol_shape"</span><span data-if="com" style="display:none">"symbol_shape"</span><span data-if="dotnet" style="display:none">"symbol_shape"</span><span data-if="python" style="display:none">"symbol_shape"</span></i> is restricted to <i><span data-if="hdevelop" style="display:inline">'rectangle'</span><span data-if="c" style="display:none">"rectangle"</span><span data-if="cpp" style="display:none">"rectangle"</span><span data-if="com" style="display:none">"rectangle"</span><span data-if="dotnet" style="display:none">"rectangle"</span><span data-if="python" style="display:none">"rectangle"</span></i> or
<i><span data-if="hdevelop" style="display:inline">'square'</span><span data-if="c" style="display:none">"square"</span><span data-if="cpp" style="display:none">"square"</span><span data-if="com" style="display:none">"square"</span><span data-if="dotnet" style="display:none">"square"</span><span data-if="python" style="display:none">"square"</span></i>.</p>
<p>
<i>Default:</i> <i>8</i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_rows_max'</span><span data-if="c" style="display:none">"symbol_rows_max"</span><span data-if="cpp" style="display:none">"symbol_rows_max"</span><span data-if="com" style="display:none">"symbol_rows_max"</span><span data-if="dotnet" style="display:none">"symbol_rows_max"</span><span data-if="python" style="display:none">"symbol_rows_max"</span></i>:</b></dt>
<dd>
<p>

Maximum number of module rows in the symbol.</p>
<p>
<i>Value range:</i> [<i>8</i>, <i>10</i>, <i>12</i>,
.. <i>144</i>]</p>
<p>
<i>Attention:</i> Changing <i><span data-if="hdevelop" style="display:inline">'symbol_rows_max'</span><span data-if="c" style="display:none">"symbol_rows_max"</span><span data-if="cpp" style="display:none">"symbol_rows_max"</span><span data-if="com" style="display:none">"symbol_rows_max"</span><span data-if="dotnet" style="display:none">"symbol_rows_max"</span><span data-if="python" style="display:none">"symbol_rows_max"</span></i> sets
<i><span data-if="hdevelop" style="display:inline">'symbol_shape'</span><span data-if="c" style="display:none">"symbol_shape"</span><span data-if="cpp" style="display:none">"symbol_shape"</span><span data-if="com" style="display:none">"symbol_shape"</span><span data-if="dotnet" style="display:none">"symbol_shape"</span><span data-if="python" style="display:none">"symbol_shape"</span></i> to <i><span data-if="hdevelop" style="display:inline">'any'</span><span data-if="c" style="display:none">"any"</span><span data-if="cpp" style="display:none">"any"</span><span data-if="com" style="display:none">"any"</span><span data-if="dotnet" style="display:none">"any"</span><span data-if="python" style="display:none">"any"</span></i>. If the size of the
current symbol is only consistent with one shape type
<i><span data-if="hdevelop" style="display:inline">'symbol_shape'</span><span data-if="c" style="display:none">"symbol_shape"</span><span data-if="cpp" style="display:none">"symbol_shape"</span><span data-if="com" style="display:none">"symbol_shape"</span><span data-if="dotnet" style="display:none">"symbol_shape"</span><span data-if="python" style="display:none">"symbol_shape"</span></i> is restricted to <i><span data-if="hdevelop" style="display:inline">'rectangle'</span><span data-if="c" style="display:none">"rectangle"</span><span data-if="cpp" style="display:none">"rectangle"</span><span data-if="com" style="display:none">"rectangle"</span><span data-if="dotnet" style="display:none">"rectangle"</span><span data-if="python" style="display:none">"rectangle"</span></i> or
<i><span data-if="hdevelop" style="display:inline">'square'</span><span data-if="c" style="display:none">"square"</span><span data-if="cpp" style="display:none">"square"</span><span data-if="com" style="display:none">"square"</span><span data-if="dotnet" style="display:none">"square"</span><span data-if="python" style="display:none">"square"</span></i>.</p>
<p>
<i>Default:</i> <i>144</i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_cols'</span><span data-if="c" style="display:none">"symbol_cols"</span><span data-if="cpp" style="display:none">"symbol_cols"</span><span data-if="com" style="display:none">"symbol_cols"</span><span data-if="dotnet" style="display:none">"symbol_cols"</span><span data-if="python" style="display:none">"symbol_cols"</span></i>:</b></dt>
<dd>
<p>

Set <i><span data-if="hdevelop" style="display:inline">'symbol_cols_min'</span><span data-if="c" style="display:none">"symbol_cols_min"</span><span data-if="cpp" style="display:none">"symbol_cols_min"</span><span data-if="com" style="display:none">"symbol_cols_min"</span><span data-if="dotnet" style="display:none">"symbol_cols_min"</span><span data-if="python" style="display:none">"symbol_cols_min"</span></i> and <i><span data-if="hdevelop" style="display:inline">'symbol_cols_max'</span><span data-if="c" style="display:none">"symbol_cols_max"</span><span data-if="cpp" style="display:none">"symbol_cols_max"</span><span data-if="com" style="display:none">"symbol_cols_max"</span><span data-if="dotnet" style="display:none">"symbol_cols_max"</span><span data-if="python" style="display:none">"symbol_cols_max"</span></i>
to the given value.</p>
<p>
<i>Value range:</i> [<i>10</i>, <i>12</i>, <i>14</i>,
.. <i>144</i>]</p>
<p>
<i>Attention:</i> Changing <i><span data-if="hdevelop" style="display:inline">'symbol_cols'</span><span data-if="c" style="display:none">"symbol_cols"</span><span data-if="cpp" style="display:none">"symbol_cols"</span><span data-if="com" style="display:none">"symbol_cols"</span><span data-if="dotnet" style="display:none">"symbol_cols"</span><span data-if="python" style="display:none">"symbol_cols"</span></i> sets
<i><span data-if="hdevelop" style="display:inline">'symbol_shape'</span><span data-if="c" style="display:none">"symbol_shape"</span><span data-if="cpp" style="display:none">"symbol_shape"</span><span data-if="com" style="display:none">"symbol_shape"</span><span data-if="dotnet" style="display:none">"symbol_shape"</span><span data-if="python" style="display:none">"symbol_shape"</span></i> to <i><span data-if="hdevelop" style="display:inline">'any'</span><span data-if="c" style="display:none">"any"</span><span data-if="cpp" style="display:none">"any"</span><span data-if="com" style="display:none">"any"</span><span data-if="dotnet" style="display:none">"any"</span><span data-if="python" style="display:none">"any"</span></i>. If the size of the
current symbol is only consistent with one shape type
<i><span data-if="hdevelop" style="display:inline">'symbol_shape'</span><span data-if="c" style="display:none">"symbol_shape"</span><span data-if="cpp" style="display:none">"symbol_shape"</span><span data-if="com" style="display:none">"symbol_shape"</span><span data-if="dotnet" style="display:none">"symbol_shape"</span><span data-if="python" style="display:none">"symbol_shape"</span></i> is restricted to <i><span data-if="hdevelop" style="display:inline">'rectangle'</span><span data-if="c" style="display:none">"rectangle"</span><span data-if="cpp" style="display:none">"rectangle"</span><span data-if="com" style="display:none">"rectangle"</span><span data-if="dotnet" style="display:none">"rectangle"</span><span data-if="python" style="display:none">"rectangle"</span></i> or
<i><span data-if="hdevelop" style="display:inline">'square'</span><span data-if="c" style="display:none">"square"</span><span data-if="cpp" style="display:none">"square"</span><span data-if="com" style="display:none">"square"</span><span data-if="dotnet" style="display:none">"square"</span><span data-if="python" style="display:none">"square"</span></i>.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_rows'</span><span data-if="c" style="display:none">"symbol_rows"</span><span data-if="cpp" style="display:none">"symbol_rows"</span><span data-if="com" style="display:none">"symbol_rows"</span><span data-if="dotnet" style="display:none">"symbol_rows"</span><span data-if="python" style="display:none">"symbol_rows"</span></i>:</b></dt>
<dd>
<p>

Set <i><span data-if="hdevelop" style="display:inline">'symbol_rows_min'</span><span data-if="c" style="display:none">"symbol_rows_min"</span><span data-if="cpp" style="display:none">"symbol_rows_min"</span><span data-if="com" style="display:none">"symbol_rows_min"</span><span data-if="dotnet" style="display:none">"symbol_rows_min"</span><span data-if="python" style="display:none">"symbol_rows_min"</span></i> and <i><span data-if="hdevelop" style="display:inline">'symbol_rows_max'</span><span data-if="c" style="display:none">"symbol_rows_max"</span><span data-if="cpp" style="display:none">"symbol_rows_max"</span><span data-if="com" style="display:none">"symbol_rows_max"</span><span data-if="dotnet" style="display:none">"symbol_rows_max"</span><span data-if="python" style="display:none">"symbol_rows_max"</span></i>
to the given value.</p>
<p>
<i>Value range:</i> [<i>8</i>, <i>10</i>, <i>12</i>,
.. <i>144</i>]</p>
<p>
<i>Attention:</i> Changing <i><span data-if="hdevelop" style="display:inline">'symbol_rows'</span><span data-if="c" style="display:none">"symbol_rows"</span><span data-if="cpp" style="display:none">"symbol_rows"</span><span data-if="com" style="display:none">"symbol_rows"</span><span data-if="dotnet" style="display:none">"symbol_rows"</span><span data-if="python" style="display:none">"symbol_rows"</span></i> sets
<i><span data-if="hdevelop" style="display:inline">'symbol_shape'</span><span data-if="c" style="display:none">"symbol_shape"</span><span data-if="cpp" style="display:none">"symbol_shape"</span><span data-if="com" style="display:none">"symbol_shape"</span><span data-if="dotnet" style="display:none">"symbol_shape"</span><span data-if="python" style="display:none">"symbol_shape"</span></i> to <i><span data-if="hdevelop" style="display:inline">'any'</span><span data-if="c" style="display:none">"any"</span><span data-if="cpp" style="display:none">"any"</span><span data-if="com" style="display:none">"any"</span><span data-if="dotnet" style="display:none">"any"</span><span data-if="python" style="display:none">"any"</span></i>. If the size of the
current symbol is only consistent with one shape type
<i><span data-if="hdevelop" style="display:inline">'symbol_shape'</span><span data-if="c" style="display:none">"symbol_shape"</span><span data-if="cpp" style="display:none">"symbol_shape"</span><span data-if="com" style="display:none">"symbol_shape"</span><span data-if="dotnet" style="display:none">"symbol_shape"</span><span data-if="python" style="display:none">"symbol_shape"</span></i> is restricted to <i><span data-if="hdevelop" style="display:inline">'rectangle'</span><span data-if="c" style="display:none">"rectangle"</span><span data-if="cpp" style="display:none">"rectangle"</span><span data-if="com" style="display:none">"rectangle"</span><span data-if="dotnet" style="display:none">"rectangle"</span><span data-if="python" style="display:none">"rectangle"</span></i> or
<i><span data-if="hdevelop" style="display:inline">'square'</span><span data-if="c" style="display:none">"square"</span><span data-if="cpp" style="display:none">"square"</span><span data-if="com" style="display:none">"square"</span><span data-if="dotnet" style="display:none">"square"</span><span data-if="python" style="display:none">"square"</span></i>.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_shape'</span><span data-if="c" style="display:none">"symbol_shape"</span><span data-if="cpp" style="display:none">"symbol_shape"</span><span data-if="com" style="display:none">"symbol_shape"</span><span data-if="dotnet" style="display:none">"symbol_shape"</span><span data-if="python" style="display:none">"symbol_shape"</span></i>:</b></dt>
<dd>
<p>

Possible restrictions on the module shape
(<i><span data-if="hdevelop" style="display:inline">'rectangle'</span><span data-if="c" style="display:none">"rectangle"</span><span data-if="cpp" style="display:none">"rectangle"</span><span data-if="com" style="display:none">"rectangle"</span><span data-if="dotnet" style="display:none">"rectangle"</span><span data-if="python" style="display:none">"rectangle"</span></i> and/or <i><span data-if="hdevelop" style="display:inline">'square'</span><span data-if="c" style="display:none">"square"</span><span data-if="cpp" style="display:none">"square"</span><span data-if="com" style="display:none">"square"</span><span data-if="dotnet" style="display:none">"square"</span><span data-if="python" style="display:none">"square"</span></i>).</p>
<p>
<i>Attention:</i> setting the symbol shape all previously made
restrictions concerning the symbol size may change. For
<i><span data-if="hdevelop" style="display:inline">'square'</span><span data-if="c" style="display:none">"square"</span><span data-if="cpp" style="display:none">"square"</span><span data-if="com" style="display:none">"square"</span><span data-if="dotnet" style="display:none">"square"</span><span data-if="python" style="display:none">"square"</span></i> the minimum of <i><span data-if="hdevelop" style="display:inline">'symbol_cols_min'</span><span data-if="c" style="display:none">"symbol_cols_min"</span><span data-if="cpp" style="display:none">"symbol_cols_min"</span><span data-if="com" style="display:none">"symbol_cols_min"</span><span data-if="dotnet" style="display:none">"symbol_cols_min"</span><span data-if="python" style="display:none">"symbol_cols_min"</span></i>
and <i><span data-if="hdevelop" style="display:inline">'symbol_rows_min'</span><span data-if="c" style="display:none">"symbol_rows_min"</span><span data-if="cpp" style="display:none">"symbol_rows_min"</span><span data-if="com" style="display:none">"symbol_rows_min"</span><span data-if="dotnet" style="display:none">"symbol_rows_min"</span><span data-if="python" style="display:none">"symbol_rows_min"</span></i> and the maximum of
<i><span data-if="hdevelop" style="display:inline">'symbol_cols_max'</span><span data-if="c" style="display:none">"symbol_cols_max"</span><span data-if="cpp" style="display:none">"symbol_cols_max"</span><span data-if="com" style="display:none">"symbol_cols_max"</span><span data-if="dotnet" style="display:none">"symbol_cols_max"</span><span data-if="python" style="display:none">"symbol_cols_max"</span></i> and <i><span data-if="hdevelop" style="display:inline">'symbol_rows_max'</span><span data-if="c" style="display:none">"symbol_rows_max"</span><span data-if="cpp" style="display:none">"symbol_rows_max"</span><span data-if="com" style="display:none">"symbol_rows_max"</span><span data-if="dotnet" style="display:none">"symbol_rows_max"</span><span data-if="python" style="display:none">"symbol_rows_max"</span></i> will be
used.
Additional restrictions can be seen in the following table:
</p>

<div style="text-align:center"><table style="margin-left:auto;margin-right:auto" class="table">
<col span="1">
<col span="1">
<col span="1">
<col span="1">
<col span="1">
<tr>
<th style="text-align:center">
symbol_shape  </th>
<th style="text-align:center"> 'any' </th>
<th style="text-align:center"> 'rectangle' </th>
<th style="text-align:center"> 'square' </th>
</tr>
<tr>
<td style="text-align:center">
<i><span data-if="hdevelop" style="display:inline">'symbol_cols_min'</span><span data-if="c" style="display:none">"symbol_cols_min"</span><span data-if="cpp" style="display:none">"symbol_cols_min"</span><span data-if="com" style="display:none">"symbol_cols_min"</span><span data-if="dotnet" style="display:none">"symbol_cols_min"</span><span data-if="python" style="display:none">"symbol_cols_min"</span></i> </td>
<td style="text-align:center"> &gt;=  10 </td>
<td style="text-align:center"> &gt;= 18 </td>
<td style="text-align:center"> &gt;=  10 </td>
</tr>
<tr>
<td style="text-align:center">
<i><span data-if="hdevelop" style="display:inline">'symbol_cols_max'</span><span data-if="c" style="display:none">"symbol_cols_max"</span><span data-if="cpp" style="display:none">"symbol_cols_max"</span><span data-if="com" style="display:none">"symbol_cols_max"</span><span data-if="dotnet" style="display:none">"symbol_cols_max"</span><span data-if="python" style="display:none">"symbol_cols_max"</span></i> </td>
<td style="text-align:center"> &lt;= 144 </td>
<td style="text-align:center"> &lt;= 144 </td>
<td style="text-align:center"> &lt;= 144 </td>
</tr>
<tr>
<td style="text-align:center">
<i><span data-if="hdevelop" style="display:inline">'symbol_rows_min'</span><span data-if="c" style="display:none">"symbol_rows_min"</span><span data-if="cpp" style="display:none">"symbol_rows_min"</span><span data-if="com" style="display:none">"symbol_rows_min"</span><span data-if="dotnet" style="display:none">"symbol_rows_min"</span><span data-if="python" style="display:none">"symbol_rows_min"</span></i> </td>
<td style="text-align:center"> &gt;=   8 </td>
<td style="text-align:center"> &gt;=  8 </td>
<td style="text-align:center"> &gt;=  10 </td>
</tr>
<tr>
<td style="text-align:center">
<i><span data-if="hdevelop" style="display:inline">'symbol_rows_max'</span><span data-if="c" style="display:none">"symbol_rows_max"</span><span data-if="cpp" style="display:none">"symbol_rows_max"</span><span data-if="com" style="display:none">"symbol_rows_max"</span><span data-if="dotnet" style="display:none">"symbol_rows_max"</span><span data-if="python" style="display:none">"symbol_rows_max"</span></i> </td>
<td style="text-align:center"> &lt;= 144 </td>
<td style="text-align:center"> &lt;= 26 </td>
<td style="text-align:center"> &lt;= 144
</td>
</tr>
</table></div>


<p>Furthermore, if <i><span data-if="hdevelop" style="display:inline">'symbol_cols_min'</span><span data-if="c" style="display:none">"symbol_cols_min"</span><span data-if="cpp" style="display:none">"symbol_cols_min"</span><span data-if="com" style="display:none">"symbol_cols_min"</span><span data-if="dotnet" style="display:none">"symbol_cols_min"</span><span data-if="python" style="display:none">"symbol_cols_min"</span></i> is larger than
<i><span data-if="hdevelop" style="display:inline">'symbol_rows_max'</span><span data-if="c" style="display:none">"symbol_rows_max"</span><span data-if="cpp" style="display:none">"symbol_rows_max"</span><span data-if="com" style="display:none">"symbol_rows_max"</span><span data-if="dotnet" style="display:none">"symbol_rows_max"</span><span data-if="python" style="display:none">"symbol_rows_max"</span></i>, the setting for <i><span data-if="hdevelop" style="display:inline">'symbol_shape'</span><span data-if="c" style="display:none">"symbol_shape"</span><span data-if="cpp" style="display:none">"symbol_shape"</span><span data-if="com" style="display:none">"symbol_shape"</span><span data-if="dotnet" style="display:none">"symbol_shape"</span><span data-if="python" style="display:none">"symbol_shape"</span></i>
is ignored and its value set to <i><span data-if="hdevelop" style="display:inline">'rectangle'</span><span data-if="c" style="display:none">"rectangle"</span><span data-if="cpp" style="display:none">"rectangle"</span><span data-if="com" style="display:none">"rectangle"</span><span data-if="dotnet" style="display:none">"rectangle"</span><span data-if="python" style="display:none">"rectangle"</span></i>.</p>


<p>The same search algorithm is used for both
shapes if <i><span data-if="hdevelop" style="display:inline">'finder_pattern_tolerance'</span><span data-if="c" style="display:none">"finder_pattern_tolerance"</span><span data-if="cpp" style="display:none">"finder_pattern_tolerance"</span><span data-if="com" style="display:none">"finder_pattern_tolerance"</span><span data-if="dotnet" style="display:none">"finder_pattern_tolerance"</span><span data-if="python" style="display:none">"finder_pattern_tolerance"</span></i> is set to
<i><span data-if="hdevelop" style="display:inline">'low'</span><span data-if="c" style="display:none">"low"</span><span data-if="cpp" style="display:none">"low"</span><span data-if="com" style="display:none">"low"</span><span data-if="dotnet" style="display:none">"low"</span><span data-if="python" style="display:none">"low"</span></i>. Thus, <i><span data-if="hdevelop" style="display:inline">'symbol_shape'</span><span data-if="c" style="display:none">"symbol_shape"</span><span data-if="cpp" style="display:none">"symbol_shape"</span><span data-if="com" style="display:none">"symbol_shape"</span><span data-if="dotnet" style="display:none">"symbol_shape"</span><span data-if="python" style="display:none">"symbol_shape"</span></i> has no effect
for the symbol search in this case.
However, if
<i><span data-if="hdevelop" style="display:inline">'finder_pattern_tolerance'</span><span data-if="c" style="display:none">"finder_pattern_tolerance"</span><span data-if="cpp" style="display:none">"finder_pattern_tolerance"</span><span data-if="com" style="display:none">"finder_pattern_tolerance"</span><span data-if="dotnet" style="display:none">"finder_pattern_tolerance"</span><span data-if="python" style="display:none">"finder_pattern_tolerance"</span></i> is set to
<i><span data-if="hdevelop" style="display:inline">'high'</span><span data-if="c" style="display:none">"high"</span><span data-if="cpp" style="display:none">"high"</span><span data-if="com" style="display:none">"high"</span><span data-if="dotnet" style="display:none">"high"</span><span data-if="python" style="display:none">"high"</span></i> or <i><span data-if="hdevelop" style="display:inline">'any'</span><span data-if="c" style="display:none">"any"</span><span data-if="cpp" style="display:none">"any"</span><span data-if="com" style="display:none">"any"</span><span data-if="dotnet" style="display:none">"any"</span><span data-if="python" style="display:none">"any"</span></i>, the value of
<i><span data-if="hdevelop" style="display:inline">'symbol_shape'</span><span data-if="c" style="display:none">"symbol_shape"</span><span data-if="cpp" style="display:none">"symbol_shape"</span><span data-if="com" style="display:none">"symbol_shape"</span><span data-if="dotnet" style="display:none">"symbol_shape"</span><span data-if="python" style="display:none">"symbol_shape"</span></i> may speed up the symbol search
significantly if it is set to <i><span data-if="hdevelop" style="display:inline">'rectangle'</span><span data-if="c" style="display:none">"rectangle"</span><span data-if="cpp" style="display:none">"rectangle"</span><span data-if="com" style="display:none">"rectangle"</span><span data-if="dotnet" style="display:none">"rectangle"</span><span data-if="python" style="display:none">"rectangle"</span></i> or
<i><span data-if="hdevelop" style="display:inline">'square'</span><span data-if="c" style="display:none">"square"</span><span data-if="cpp" style="display:none">"square"</span><span data-if="com" style="display:none">"square"</span><span data-if="dotnet" style="display:none">"square"</span><span data-if="python" style="display:none">"square"</span></i>. </p>
<p>
<i>Values:</i> <i><span data-if="hdevelop" style="display:inline">'rectangle'</span><span data-if="c" style="display:none">"rectangle"</span><span data-if="cpp" style="display:none">"rectangle"</span><span data-if="com" style="display:none">"rectangle"</span><span data-if="dotnet" style="display:none">"rectangle"</span><span data-if="python" style="display:none">"rectangle"</span></i>, <i><span data-if="hdevelop" style="display:inline">'square'</span><span data-if="c" style="display:none">"square"</span><span data-if="cpp" style="display:none">"square"</span><span data-if="com" style="display:none">"square"</span><span data-if="dotnet" style="display:none">"square"</span><span data-if="python" style="display:none">"square"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'any'</span><span data-if="c" style="display:none">"any"</span><span data-if="cpp" style="display:none">"any"</span><span data-if="com" style="display:none">"any"</span><span data-if="dotnet" style="display:none">"any"</span><span data-if="python" style="display:none">"any"</span></i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_size_min'</span><span data-if="c" style="display:none">"symbol_size_min"</span><span data-if="cpp" style="display:none">"symbol_size_min"</span><span data-if="com" style="display:none">"symbol_size_min"</span><span data-if="dotnet" style="display:none">"symbol_size_min"</span><span data-if="python" style="display:none">"symbol_size_min"</span></i>:</b></dt>
<dd>
<p>

Set <i><span data-if="hdevelop" style="display:inline">'symbol_cols_min'</span><span data-if="c" style="display:none">"symbol_cols_min"</span><span data-if="cpp" style="display:none">"symbol_cols_min"</span><span data-if="com" style="display:none">"symbol_cols_min"</span><span data-if="dotnet" style="display:none">"symbol_cols_min"</span><span data-if="python" style="display:none">"symbol_cols_min"</span></i> and <i><span data-if="hdevelop" style="display:inline">'symbol_rows_min'</span><span data-if="c" style="display:none">"symbol_rows_min"</span><span data-if="cpp" style="display:none">"symbol_rows_min"</span><span data-if="com" style="display:none">"symbol_rows_min"</span><span data-if="dotnet" style="display:none">"symbol_rows_min"</span><span data-if="python" style="display:none">"symbol_rows_min"</span></i>
to the given value and <i><span data-if="hdevelop" style="display:inline">'symbol_shape'</span><span data-if="c" style="display:none">"symbol_shape"</span><span data-if="cpp" style="display:none">"symbol_shape"</span><span data-if="com" style="display:none">"symbol_shape"</span><span data-if="dotnet" style="display:none">"symbol_shape"</span><span data-if="python" style="display:none">"symbol_shape"</span></i> to
<i><span data-if="hdevelop" style="display:inline">'square'</span><span data-if="c" style="display:none">"square"</span><span data-if="cpp" style="display:none">"square"</span><span data-if="com" style="display:none">"square"</span><span data-if="dotnet" style="display:none">"square"</span><span data-if="python" style="display:none">"square"</span></i>.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_size_max'</span><span data-if="c" style="display:none">"symbol_size_max"</span><span data-if="cpp" style="display:none">"symbol_size_max"</span><span data-if="com" style="display:none">"symbol_size_max"</span><span data-if="dotnet" style="display:none">"symbol_size_max"</span><span data-if="python" style="display:none">"symbol_size_max"</span></i>:</b></dt>
<dd>
<p>

Set <i><span data-if="hdevelop" style="display:inline">'symbol_cols_max'</span><span data-if="c" style="display:none">"symbol_cols_max"</span><span data-if="cpp" style="display:none">"symbol_cols_max"</span><span data-if="com" style="display:none">"symbol_cols_max"</span><span data-if="dotnet" style="display:none">"symbol_cols_max"</span><span data-if="python" style="display:none">"symbol_cols_max"</span></i> and <i><span data-if="hdevelop" style="display:inline">'symbol_rows_max'</span><span data-if="c" style="display:none">"symbol_rows_max"</span><span data-if="cpp" style="display:none">"symbol_rows_max"</span><span data-if="com" style="display:none">"symbol_rows_max"</span><span data-if="dotnet" style="display:none">"symbol_rows_max"</span><span data-if="python" style="display:none">"symbol_rows_max"</span></i>
to the given value and <i><span data-if="hdevelop" style="display:inline">'symbol_shape'</span><span data-if="c" style="display:none">"symbol_shape"</span><span data-if="cpp" style="display:none">"symbol_shape"</span><span data-if="com" style="display:none">"symbol_shape"</span><span data-if="dotnet" style="display:none">"symbol_shape"</span><span data-if="python" style="display:none">"symbol_shape"</span></i> to
<i><span data-if="hdevelop" style="display:inline">'square'</span><span data-if="c" style="display:none">"square"</span><span data-if="cpp" style="display:none">"square"</span><span data-if="com" style="display:none">"square"</span><span data-if="dotnet" style="display:none">"square"</span><span data-if="python" style="display:none">"square"</span></i>.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_size'</span><span data-if="c" style="display:none">"symbol_size"</span><span data-if="cpp" style="display:none">"symbol_size"</span><span data-if="com" style="display:none">"symbol_size"</span><span data-if="dotnet" style="display:none">"symbol_size"</span><span data-if="python" style="display:none">"symbol_size"</span></i>:</b></dt>
<dd>
<p>

Set <i><span data-if="hdevelop" style="display:inline">'symbol_cols_min'</span><span data-if="c" style="display:none">"symbol_cols_min"</span><span data-if="cpp" style="display:none">"symbol_cols_min"</span><span data-if="com" style="display:none">"symbol_cols_min"</span><span data-if="dotnet" style="display:none">"symbol_cols_min"</span><span data-if="python" style="display:none">"symbol_cols_min"</span></i>, <i><span data-if="hdevelop" style="display:inline">'symbol_cols_max'</span><span data-if="c" style="display:none">"symbol_cols_max"</span><span data-if="cpp" style="display:none">"symbol_cols_max"</span><span data-if="com" style="display:none">"symbol_cols_max"</span><span data-if="dotnet" style="display:none">"symbol_cols_max"</span><span data-if="python" style="display:none">"symbol_cols_max"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'symbol_rows_min'</span><span data-if="c" style="display:none">"symbol_rows_min"</span><span data-if="cpp" style="display:none">"symbol_rows_min"</span><span data-if="com" style="display:none">"symbol_rows_min"</span><span data-if="dotnet" style="display:none">"symbol_rows_min"</span><span data-if="python" style="display:none">"symbol_rows_min"</span></i> and <i><span data-if="hdevelop" style="display:inline">'symbol_rows_max'</span><span data-if="c" style="display:none">"symbol_rows_max"</span><span data-if="cpp" style="display:none">"symbol_rows_max"</span><span data-if="com" style="display:none">"symbol_rows_max"</span><span data-if="dotnet" style="display:none">"symbol_rows_max"</span><span data-if="python" style="display:none">"symbol_rows_max"</span></i> to
the given value and <i><span data-if="hdevelop" style="display:inline">'symbol_shape'</span><span data-if="c" style="display:none">"symbol_shape"</span><span data-if="cpp" style="display:none">"symbol_shape"</span><span data-if="com" style="display:none">"symbol_shape"</span><span data-if="dotnet" style="display:none">"symbol_shape"</span><span data-if="python" style="display:none">"symbol_shape"</span></i> to <i><span data-if="hdevelop" style="display:inline">'square'</span><span data-if="c" style="display:none">"square"</span><span data-if="cpp" style="display:none">"square"</span><span data-if="com" style="display:none">"square"</span><span data-if="dotnet" style="display:none">"square"</span><span data-if="python" style="display:none">"square"</span></i>.
</p>
</dd>
</dl>

</li>
<li>
<p> QR Code (including the finder pattern):
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'model_type'</span><span data-if="c" style="display:none">"model_type"</span><span data-if="cpp" style="display:none">"model_type"</span><span data-if="com" style="display:none">"model_type"</span><span data-if="dotnet" style="display:none">"model_type"</span><span data-if="python" style="display:none">"model_type"</span></i>:</b></dt>
<dd>
<p>

Type of the QR Code model.
The old QR Code Model <i><span data-if="hdevelop" style="display:inline">'1'</span><span data-if="c" style="display:none">"1"</span><span data-if="cpp" style="display:none">"1"</span><span data-if="com" style="display:none">"1"</span><span data-if="dotnet" style="display:none">"1"</span><span data-if="python" style="display:none">"1"</span></i> and the newer Model <i><span data-if="hdevelop" style="display:inline">'2'</span><span data-if="c" style="display:none">"2"</span><span data-if="cpp" style="display:none">"2"</span><span data-if="com" style="display:none">"2"</span><span data-if="dotnet" style="display:none">"2"</span><span data-if="python" style="display:none">"2"</span></i>
are supported. With the specification <i><span data-if="hdevelop" style="display:inline">'any'</span><span data-if="c" style="display:none">"any"</span><span data-if="cpp" style="display:none">"any"</span><span data-if="com" style="display:none">"any"</span><span data-if="dotnet" style="display:none">"any"</span><span data-if="python" style="display:none">"any"</span></i> or
<i><span data-if="hdevelop" style="display:inline">'0'</span><span data-if="c" style="display:none">"0"</span><span data-if="cpp" style="display:none">"0"</span><span data-if="com" style="display:none">"0"</span><span data-if="dotnet" style="display:none">"0"</span><span data-if="python" style="display:none">"0"</span></i> both models are carried out. </p>
<p>
<i>Values:</i> <i>1</i>, <i>2</i>, <i><span data-if="hdevelop" style="display:inline">'any'</span><span data-if="c" style="display:none">"any"</span><span data-if="cpp" style="display:none">"any"</span><span data-if="com" style="display:none">"any"</span><span data-if="dotnet" style="display:none">"any"</span><span data-if="python" style="display:none">"any"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'0'</span><span data-if="c" style="display:none">"0"</span><span data-if="cpp" style="display:none">"0"</span><span data-if="com" style="display:none">"0"</span><span data-if="dotnet" style="display:none">"0"</span><span data-if="python" style="display:none">"0"</span></i></p>
<p>
<i>Default:</i> <i><span data-if="hdevelop" style="display:inline">'any'</span><span data-if="c" style="display:none">"any"</span><span data-if="cpp" style="display:none">"any"</span><span data-if="com" style="display:none">"any"</span><span data-if="dotnet" style="display:none">"any"</span><span data-if="python" style="display:none">"any"</span></i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'version_min'</span><span data-if="c" style="display:none">"version_min"</span><span data-if="cpp" style="display:none">"version_min"</span><span data-if="com" style="display:none">"version_min"</span><span data-if="dotnet" style="display:none">"version_min"</span><span data-if="python" style="display:none">"version_min"</span></i>:</b></dt>
<dd>
<p>

Minimum symbol version.
The symbol version is directly linked to the symbol size.
Symbols of version 1 are 21x21 modules in size,
version 2 = 25x25 modules, etc. up to version
40 = 177x177 modules.
The maximum size of Model 1 symbols is 73x73 =
version 14.</p>
<p>
<i>Value range:</i> [<i>1</i> .. <i>40</i>]
(Model 1: [<i>1</i> .. <i>14</i>])</p>
<p>
<i>Default:</i> <i>1</i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'version_max'</span><span data-if="c" style="display:none">"version_max"</span><span data-if="cpp" style="display:none">"version_max"</span><span data-if="com" style="display:none">"version_max"</span><span data-if="dotnet" style="display:none">"version_max"</span><span data-if="python" style="display:none">"version_max"</span></i>:</b></dt>
<dd>
<p>

Maximum symbol version.</p>
<p>
<i>Value range:</i> [<i>1</i> .. <i>40</i>]
(Model 1: [<i>1</i> .. <i>14</i>])</p>
<p>
<i>Default:</i> <i>40</i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'version'</span><span data-if="c" style="display:none">"version"</span><span data-if="cpp" style="display:none">"version"</span><span data-if="com" style="display:none">"version"</span><span data-if="dotnet" style="display:none">"version"</span><span data-if="python" style="display:none">"version"</span></i>:</b></dt>
<dd>
<p>

Set <i><span data-if="hdevelop" style="display:inline">'version_min'</span><span data-if="c" style="display:none">"version_min"</span><span data-if="cpp" style="display:none">"version_min"</span><span data-if="com" style="display:none">"version_min"</span><span data-if="dotnet" style="display:none">"version_min"</span><span data-if="python" style="display:none">"version_min"</span></i> and <i><span data-if="hdevelop" style="display:inline">'version_max'</span><span data-if="c" style="display:none">"version_max"</span><span data-if="cpp" style="display:none">"version_max"</span><span data-if="com" style="display:none">"version_max"</span><span data-if="dotnet" style="display:none">"version_max"</span><span data-if="python" style="display:none">"version_max"</span></i>
to the same value.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_size_min'</span><span data-if="c" style="display:none">"symbol_size_min"</span><span data-if="cpp" style="display:none">"symbol_size_min"</span><span data-if="com" style="display:none">"symbol_size_min"</span><span data-if="dotnet" style="display:none">"symbol_size_min"</span><span data-if="python" style="display:none">"symbol_size_min"</span></i>:</b></dt>
<dd>
<p>

Minimum size of the symbol in modules.
This parameter can be used as an alternative to
<i><span data-if="hdevelop" style="display:inline">'version_min'</span><span data-if="c" style="display:none">"version_min"</span><span data-if="cpp" style="display:none">"version_min"</span><span data-if="com" style="display:none">"version_min"</span><span data-if="dotnet" style="display:none">"version_min"</span><span data-if="python" style="display:none">"version_min"</span></i>.</p>
<p>
<i>Value range:</i> [<i>21</i> .. <i>177</i>]
(Model 1: [<i>21</i> .. <i>73</i>])</p>
<p>
<i>Default:</i> <i>21</i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_size_max'</span><span data-if="c" style="display:none">"symbol_size_max"</span><span data-if="cpp" style="display:none">"symbol_size_max"</span><span data-if="com" style="display:none">"symbol_size_max"</span><span data-if="dotnet" style="display:none">"symbol_size_max"</span><span data-if="python" style="display:none">"symbol_size_max"</span></i>:</b></dt>
<dd>
<p>

Maximum size of the symbol in modules.
This parameter can be used as an alternative to
<i><span data-if="hdevelop" style="display:inline">'version_max'</span><span data-if="c" style="display:none">"version_max"</span><span data-if="cpp" style="display:none">"version_max"</span><span data-if="com" style="display:none">"version_max"</span><span data-if="dotnet" style="display:none">"version_max"</span><span data-if="python" style="display:none">"version_max"</span></i>:</p>
<p>
<i>Value range:</i> [<i>21</i> .. <i>177</i>]
(Model 1: [<i>21</i> .. <i>73</i>])</p>
<p>
<i>Default:</i> <i>177</i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_size'</span><span data-if="c" style="display:none">"symbol_size"</span><span data-if="cpp" style="display:none">"symbol_size"</span><span data-if="com" style="display:none">"symbol_size"</span><span data-if="dotnet" style="display:none">"symbol_size"</span><span data-if="python" style="display:none">"symbol_size"</span></i>:</b></dt>
<dd>
<p>

Set <i><span data-if="hdevelop" style="display:inline">'symbol_size_min'</span><span data-if="c" style="display:none">"symbol_size_min"</span><span data-if="cpp" style="display:none">"symbol_size_min"</span><span data-if="com" style="display:none">"symbol_size_min"</span><span data-if="dotnet" style="display:none">"symbol_size_min"</span><span data-if="python" style="display:none">"symbol_size_min"</span></i> and <i><span data-if="hdevelop" style="display:inline">'symbol_size_max'</span><span data-if="c" style="display:none">"symbol_size_max"</span><span data-if="cpp" style="display:none">"symbol_size_max"</span><span data-if="com" style="display:none">"symbol_size_max"</span><span data-if="dotnet" style="display:none">"symbol_size_max"</span><span data-if="python" style="display:none">"symbol_size_max"</span></i>
to the same value.
</p>
</dd>
</dl>

</li>
<li>
<p> Micro QR Code:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'version_min'</span><span data-if="c" style="display:none">"version_min"</span><span data-if="cpp" style="display:none">"version_min"</span><span data-if="com" style="display:none">"version_min"</span><span data-if="dotnet" style="display:none">"version_min"</span><span data-if="python" style="display:none">"version_min"</span></i>:</b></dt>
<dd>
<p>

Minimum symbol version.
The symbol version is directly linked to the symbol size.
Symbols are between 11x11 (version M1) and
17x17 (version M4) modules in size. </p>
<p>
<i>Value range:</i> [<i>1</i> .. <i>4</i>] </p>
<p>
<i>Default:</i> <i>1</i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'version_max'</span><span data-if="c" style="display:none">"version_max"</span><span data-if="cpp" style="display:none">"version_max"</span><span data-if="com" style="display:none">"version_max"</span><span data-if="dotnet" style="display:none">"version_max"</span><span data-if="python" style="display:none">"version_max"</span></i>:</b></dt>
<dd>
<p>

Maximum symbol version.</p>
<p>
<i>Value range:</i> [<i>1</i> .. <i>4</i>] </p>
<p>
<i>Default:</i> <i>4</i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'version'</span><span data-if="c" style="display:none">"version"</span><span data-if="cpp" style="display:none">"version"</span><span data-if="com" style="display:none">"version"</span><span data-if="dotnet" style="display:none">"version"</span><span data-if="python" style="display:none">"version"</span></i>:</b></dt>
<dd>
<p>

Set <i><span data-if="hdevelop" style="display:inline">'version_min'</span><span data-if="c" style="display:none">"version_min"</span><span data-if="cpp" style="display:none">"version_min"</span><span data-if="com" style="display:none">"version_min"</span><span data-if="dotnet" style="display:none">"version_min"</span><span data-if="python" style="display:none">"version_min"</span></i> and <i><span data-if="hdevelop" style="display:inline">'version_max'</span><span data-if="c" style="display:none">"version_max"</span><span data-if="cpp" style="display:none">"version_max"</span><span data-if="com" style="display:none">"version_max"</span><span data-if="dotnet" style="display:none">"version_max"</span><span data-if="python" style="display:none">"version_max"</span></i>
to the same value.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_size_min'</span><span data-if="c" style="display:none">"symbol_size_min"</span><span data-if="cpp" style="display:none">"symbol_size_min"</span><span data-if="com" style="display:none">"symbol_size_min"</span><span data-if="dotnet" style="display:none">"symbol_size_min"</span><span data-if="python" style="display:none">"symbol_size_min"</span></i>:</b></dt>
<dd>
<p>

Minimum size of the symbol in modules.
This parameter can be used as an alternative to
<i><span data-if="hdevelop" style="display:inline">'version_min'</span><span data-if="c" style="display:none">"version_min"</span><span data-if="cpp" style="display:none">"version_min"</span><span data-if="com" style="display:none">"version_min"</span><span data-if="dotnet" style="display:none">"version_min"</span><span data-if="python" style="display:none">"version_min"</span></i>.</p>
<p>
<i>Value range:</i> [<i>11</i> .. <i>17</i>] </p>
<p>
<i>Default:</i> <i>11</i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_size_max'</span><span data-if="c" style="display:none">"symbol_size_max"</span><span data-if="cpp" style="display:none">"symbol_size_max"</span><span data-if="com" style="display:none">"symbol_size_max"</span><span data-if="dotnet" style="display:none">"symbol_size_max"</span><span data-if="python" style="display:none">"symbol_size_max"</span></i>:</b></dt>
<dd>
<p>

Maximum size of the symbol in modules.
This parameter can be used as an alternative to
<i><span data-if="hdevelop" style="display:inline">'version_max'</span><span data-if="c" style="display:none">"version_max"</span><span data-if="cpp" style="display:none">"version_max"</span><span data-if="com" style="display:none">"version_max"</span><span data-if="dotnet" style="display:none">"version_max"</span><span data-if="python" style="display:none">"version_max"</span></i>:</p>
<p>
<i>Value range:</i> [<i>11</i> .. <i>17</i>] </p>
<p>
<i>Default:</i> <i>17</i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_size'</span><span data-if="c" style="display:none">"symbol_size"</span><span data-if="cpp" style="display:none">"symbol_size"</span><span data-if="com" style="display:none">"symbol_size"</span><span data-if="dotnet" style="display:none">"symbol_size"</span><span data-if="python" style="display:none">"symbol_size"</span></i>:</b></dt>
<dd>
<p>

Set <i><span data-if="hdevelop" style="display:inline">'symbol_size_min'</span><span data-if="c" style="display:none">"symbol_size_min"</span><span data-if="cpp" style="display:none">"symbol_size_min"</span><span data-if="com" style="display:none">"symbol_size_min"</span><span data-if="dotnet" style="display:none">"symbol_size_min"</span><span data-if="python" style="display:none">"symbol_size_min"</span></i> and <i><span data-if="hdevelop" style="display:inline">'symbol_size_max'</span><span data-if="c" style="display:none">"symbol_size_max"</span><span data-if="cpp" style="display:none">"symbol_size_max"</span><span data-if="com" style="display:none">"symbol_size_max"</span><span data-if="dotnet" style="display:none">"symbol_size_max"</span><span data-if="python" style="display:none">"symbol_size_max"</span></i>
to the same value.
</p>
</dd>
</dl>

</li>
<li>
<p> PDF417:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_cols_min'</span><span data-if="c" style="display:none">"symbol_cols_min"</span><span data-if="cpp" style="display:none">"symbol_cols_min"</span><span data-if="com" style="display:none">"symbol_cols_min"</span><span data-if="dotnet" style="display:none">"symbol_cols_min"</span><span data-if="python" style="display:none">"symbol_cols_min"</span></i>:</b></dt>
<dd>
<p>

Minimum number of data columns in the symbol in codewords,
i.e., excluding the codewords of the start/stop
pattern and of the two row indicators.</p>
<p>
<i>Value range:</i> [<i>1</i> ..
<i>30</i>] </p>
<p>
<i>Default:</i> <i>1</i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_cols_max'</span><span data-if="c" style="display:none">"symbol_cols_max"</span><span data-if="cpp" style="display:none">"symbol_cols_max"</span><span data-if="com" style="display:none">"symbol_cols_max"</span><span data-if="dotnet" style="display:none">"symbol_cols_max"</span><span data-if="python" style="display:none">"symbol_cols_max"</span></i>:</b></dt>
<dd>
<p>

Maximum number of data columns in the symbol in codewords,
i.e., excluding the two codewords of the start/stop
pattern and of the two indicators.</p>
<p>
<i>Value range:</i> [<i>1</i> ..
<i>30</i>] </p>
<p>
<i>Default:</i> <i>20</i> (enhanced: <i>30</i>)
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_rows_min'</span><span data-if="c" style="display:none">"symbol_rows_min"</span><span data-if="cpp" style="display:none">"symbol_rows_min"</span><span data-if="com" style="display:none">"symbol_rows_min"</span><span data-if="dotnet" style="display:none">"symbol_rows_min"</span><span data-if="python" style="display:none">"symbol_rows_min"</span></i>:</b></dt>
<dd>
<p>

Minimum number of module rows in the symbol.</p>
<p>
<i>Value range:</i> [<i>3</i> ..
<i>90</i>] </p>
<p>
<i>Default:</i> <i>5</i> (enhanced: <i>3</i>)
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_rows_max'</span><span data-if="c" style="display:none">"symbol_rows_max"</span><span data-if="cpp" style="display:none">"symbol_rows_max"</span><span data-if="com" style="display:none">"symbol_rows_max"</span><span data-if="dotnet" style="display:none">"symbol_rows_max"</span><span data-if="python" style="display:none">"symbol_rows_max"</span></i>:</b></dt>
<dd>
<p>

Maximum number of module rows in the symbol.</p>
<p>
<i>Value range:</i> [<i>3</i> ..
<i>90</i>] </p>
<p>
<i>Default:</i> <i>45</i> (enhanced: <i>90</i>)
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_cols'</span><span data-if="c" style="display:none">"symbol_cols"</span><span data-if="cpp" style="display:none">"symbol_cols"</span><span data-if="com" style="display:none">"symbol_cols"</span><span data-if="dotnet" style="display:none">"symbol_cols"</span><span data-if="python" style="display:none">"symbol_cols"</span></i>:</b></dt>
<dd>
<p>

Set <i><span data-if="hdevelop" style="display:inline">'symbol_cols_min'</span><span data-if="c" style="display:none">"symbol_cols_min"</span><span data-if="cpp" style="display:none">"symbol_cols_min"</span><span data-if="com" style="display:none">"symbol_cols_min"</span><span data-if="dotnet" style="display:none">"symbol_cols_min"</span><span data-if="python" style="display:none">"symbol_cols_min"</span></i> and <i><span data-if="hdevelop" style="display:inline">'symbol_cols_max'</span><span data-if="c" style="display:none">"symbol_cols_max"</span><span data-if="cpp" style="display:none">"symbol_cols_max"</span><span data-if="com" style="display:none">"symbol_cols_max"</span><span data-if="dotnet" style="display:none">"symbol_cols_max"</span><span data-if="python" style="display:none">"symbol_cols_max"</span></i>
to the same value.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_rows'</span><span data-if="c" style="display:none">"symbol_rows"</span><span data-if="cpp" style="display:none">"symbol_rows"</span><span data-if="com" style="display:none">"symbol_rows"</span><span data-if="dotnet" style="display:none">"symbol_rows"</span><span data-if="python" style="display:none">"symbol_rows"</span></i>:</b></dt>
<dd>
<p>

Set <i><span data-if="hdevelop" style="display:inline">'symbol_rows_min'</span><span data-if="c" style="display:none">"symbol_rows_min"</span><span data-if="cpp" style="display:none">"symbol_rows_min"</span><span data-if="com" style="display:none">"symbol_rows_min"</span><span data-if="dotnet" style="display:none">"symbol_rows_min"</span><span data-if="python" style="display:none">"symbol_rows_min"</span></i> and <i><span data-if="hdevelop" style="display:inline">'symbol_rows_max'</span><span data-if="c" style="display:none">"symbol_rows_max"</span><span data-if="cpp" style="display:none">"symbol_rows_max"</span><span data-if="com" style="display:none">"symbol_rows_max"</span><span data-if="dotnet" style="display:none">"symbol_rows_max"</span><span data-if="python" style="display:none">"symbol_rows_max"</span></i>
to the same value.
</p>
</dd>
</dl>

</li>
<li>
<p> Aztec Code (including the finder pattern):
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'format'</span><span data-if="c" style="display:none">"format"</span><span data-if="cpp" style="display:none">"format"</span><span data-if="com" style="display:none">"format"</span><span data-if="dotnet" style="display:none">"format"</span><span data-if="python" style="display:none">"format"</span></i>:</b></dt>
<dd>
<p>

Format of the Aztec Code: space separated list with the
values <i><span data-if="hdevelop" style="display:inline">'compact'</span><span data-if="c" style="display:none">"compact"</span><span data-if="cpp" style="display:none">"compact"</span><span data-if="com" style="display:none">"compact"</span><span data-if="dotnet" style="display:none">"compact"</span><span data-if="python" style="display:none">"compact"</span></i>, <i><span data-if="hdevelop" style="display:inline">'full_range'</span><span data-if="c" style="display:none">"full_range"</span><span data-if="cpp" style="display:none">"full_range"</span><span data-if="com" style="display:none">"full_range"</span><span data-if="dotnet" style="display:none">"full_range"</span><span data-if="python" style="display:none">"full_range"</span></i>, or
<i><span data-if="hdevelop" style="display:inline">'rune'</span><span data-if="c" style="display:none">"rune"</span><span data-if="cpp" style="display:none">"rune"</span><span data-if="com" style="display:none">"rune"</span><span data-if="dotnet" style="display:none">"rune"</span><span data-if="python" style="display:none">"rune"</span></i>.</p>
<p>
<i>Default:</i> <i><span data-if="hdevelop" style="display:inline">'compact full_range'</span><span data-if="c" style="display:none">"compact full_range"</span><span data-if="cpp" style="display:none">"compact full_range"</span><span data-if="com" style="display:none">"compact full_range"</span><span data-if="dotnet" style="display:none">"compact full_range"</span><span data-if="python" style="display:none">"compact full_range"</span></i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_size_min'</span><span data-if="c" style="display:none">"symbol_size_min"</span><span data-if="cpp" style="display:none">"symbol_size_min"</span><span data-if="com" style="display:none">"symbol_size_min"</span><span data-if="dotnet" style="display:none">"symbol_size_min"</span><span data-if="python" style="display:none">"symbol_size_min"</span></i>:</b></dt>
<dd>
<p>

Minimum size of the symbol in modules.</p>
<p>
<i>Value range:</i> [<i>11</i> .. <i>151</i>]</p>
<p>
<i>Default:</i> <i>11</i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_size_max'</span><span data-if="c" style="display:none">"symbol_size_max"</span><span data-if="cpp" style="display:none">"symbol_size_max"</span><span data-if="com" style="display:none">"symbol_size_max"</span><span data-if="dotnet" style="display:none">"symbol_size_max"</span><span data-if="python" style="display:none">"symbol_size_max"</span></i>:</b></dt>
<dd>
<p>

Maximum size of the symbol in modules.</p>
<p>
<i>Value range:</i> [<i>11</i> .. <i>151</i>]</p>
<p>
<i>Default:</i> <i>151</i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_size'</span><span data-if="c" style="display:none">"symbol_size"</span><span data-if="cpp" style="display:none">"symbol_size"</span><span data-if="com" style="display:none">"symbol_size"</span><span data-if="dotnet" style="display:none">"symbol_size"</span><span data-if="python" style="display:none">"symbol_size"</span></i>:</b></dt>
<dd>
<p>

Set <i><span data-if="hdevelop" style="display:inline">'symbol_size_min'</span><span data-if="c" style="display:none">"symbol_size_min"</span><span data-if="cpp" style="display:none">"symbol_size_min"</span><span data-if="com" style="display:none">"symbol_size_min"</span><span data-if="dotnet" style="display:none">"symbol_size_min"</span><span data-if="python" style="display:none">"symbol_size_min"</span></i> and <i><span data-if="hdevelop" style="display:inline">'symbol_size_max'</span><span data-if="c" style="display:none">"symbol_size_max"</span><span data-if="cpp" style="display:none">"symbol_size_max"</span><span data-if="com" style="display:none">"symbol_size_max"</span><span data-if="dotnet" style="display:none">"symbol_size_max"</span><span data-if="python" style="display:none">"symbol_size_max"</span></i>
to the same value.
</p>
</dd>
</dl>

</li>
<li>
<p> DotCode:
A valid DotCode according to AIM DotCode Revision 4.0-1 consists
of one even and one odd dimension. Within HALCON, the column dimension of
a DotCode symbol is defined by the reading direction and always refers to
the odd dimension.
</p>
<dl class="generic">

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_cols_min'</span><span data-if="c" style="display:none">"symbol_cols_min"</span><span data-if="cpp" style="display:none">"symbol_cols_min"</span><span data-if="com" style="display:none">"symbol_cols_min"</span><span data-if="dotnet" style="display:none">"symbol_cols_min"</span><span data-if="python" style="display:none">"symbol_cols_min"</span></i>:</b></dt>
<dd>
<p>

Minimum number of module columns in the symbol. Must be odd.</p>
<p>
<i>Value range:</i> [<i>5</i> .. <i>999</i>]</p>
<p>
<i>Default:</i> <i>5</i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_cols_max'</span><span data-if="c" style="display:none">"symbol_cols_max"</span><span data-if="cpp" style="display:none">"symbol_cols_max"</span><span data-if="com" style="display:none">"symbol_cols_max"</span><span data-if="dotnet" style="display:none">"symbol_cols_max"</span><span data-if="python" style="display:none">"symbol_cols_max"</span></i>:</b></dt>
<dd>
<p>

Maximum number of module columns in the symbol. Must be odd.</p>
<p>
<i>Value range:</i> [<i>5</i> .. <i>999</i>]</p>
<p>
<i>Default:</i> <i>999</i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_rows_min'</span><span data-if="c" style="display:none">"symbol_rows_min"</span><span data-if="cpp" style="display:none">"symbol_rows_min"</span><span data-if="com" style="display:none">"symbol_rows_min"</span><span data-if="dotnet" style="display:none">"symbol_rows_min"</span><span data-if="python" style="display:none">"symbol_rows_min"</span></i>:</b></dt>
<dd>
<p>

Minimum number of module rows in the symbol. Must be even.</p>
<p>
<i>Value range:</i> [<i>4</i> .. <i>998</i>]</p>
<p>
<i>Default:</i> <i>4</i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_rows_max'</span><span data-if="c" style="display:none">"symbol_rows_max"</span><span data-if="cpp" style="display:none">"symbol_rows_max"</span><span data-if="com" style="display:none">"symbol_rows_max"</span><span data-if="dotnet" style="display:none">"symbol_rows_max"</span><span data-if="python" style="display:none">"symbol_rows_max"</span></i>:</b></dt>
<dd>
<p>

Maximum number of module rows in the symbol. Must be even.</p>
<p>
<i>Value range:</i> [<i>4</i> .. <i>998</i>]</p>
<p>
<i>Default:</i> <i>998</i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_cols'</span><span data-if="c" style="display:none">"symbol_cols"</span><span data-if="cpp" style="display:none">"symbol_cols"</span><span data-if="com" style="display:none">"symbol_cols"</span><span data-if="dotnet" style="display:none">"symbol_cols"</span><span data-if="python" style="display:none">"symbol_cols"</span></i>:</b></dt>
<dd>
<p>

Set <i><span data-if="hdevelop" style="display:inline">'symbol_cols_min'</span><span data-if="c" style="display:none">"symbol_cols_min"</span><span data-if="cpp" style="display:none">"symbol_cols_min"</span><span data-if="com" style="display:none">"symbol_cols_min"</span><span data-if="dotnet" style="display:none">"symbol_cols_min"</span><span data-if="python" style="display:none">"symbol_cols_min"</span></i> and <i><span data-if="hdevelop" style="display:inline">'symbol_cols_max'</span><span data-if="c" style="display:none">"symbol_cols_max"</span><span data-if="cpp" style="display:none">"symbol_cols_max"</span><span data-if="com" style="display:none">"symbol_cols_max"</span><span data-if="dotnet" style="display:none">"symbol_cols_max"</span><span data-if="python" style="display:none">"symbol_cols_max"</span></i>
to the given value. Must bee odd.</p>
<p>
<i>Value range:</i> [<i>5</i> .. <i>999</i>]</p>


</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'symbol_rows'</span><span data-if="c" style="display:none">"symbol_rows"</span><span data-if="cpp" style="display:none">"symbol_rows"</span><span data-if="com" style="display:none">"symbol_rows"</span><span data-if="dotnet" style="display:none">"symbol_rows"</span><span data-if="python" style="display:none">"symbol_rows"</span></i>:</b></dt>
<dd>
<p>

Set <i><span data-if="hdevelop" style="display:inline">'symbol_rows_min'</span><span data-if="c" style="display:none">"symbol_rows_min"</span><span data-if="cpp" style="display:none">"symbol_rows_min"</span><span data-if="com" style="display:none">"symbol_rows_min"</span><span data-if="dotnet" style="display:none">"symbol_rows_min"</span><span data-if="python" style="display:none">"symbol_rows_min"</span></i> and <i><span data-if="hdevelop" style="display:inline">'symbol_rows_max'</span><span data-if="c" style="display:none">"symbol_rows_max"</span><span data-if="cpp" style="display:none">"symbol_rows_max"</span><span data-if="com" style="display:none">"symbol_rows_max"</span><span data-if="dotnet" style="display:none">"symbol_rows_max"</span><span data-if="python" style="display:none">"symbol_rows_max"</span></i>
to the given value. Must be even.</p>
<p>
<i>Value range:</i> [<i>4</i> .. <i>998</i>]</p>


</dd>
</dl>

</li>
</ul>
<p><b>Appearance of the modules in the image:</b>
</p>
<ul>

<li>
<p> All data code types:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'polarity'</span><span data-if="c" style="display:none">"polarity"</span><span data-if="cpp" style="display:none">"polarity"</span><span data-if="com" style="display:none">"polarity"</span><span data-if="dotnet" style="display:none">"polarity"</span><span data-if="python" style="display:none">"polarity"</span></i>:</b></dt>
<dd>
<p>

Describes the polarity of the symbol in the image, i.e.,
the parameter determines if the symbol appears light on a
dark background or dark on a light background.</p>
<p>
<i>Values:</i> <i><span data-if="hdevelop" style="display:inline">'dark_on_light'</span><span data-if="c" style="display:none">"dark_on_light"</span><span data-if="cpp" style="display:none">"dark_on_light"</span><span data-if="com" style="display:none">"dark_on_light"</span><span data-if="dotnet" style="display:none">"dark_on_light"</span><span data-if="python" style="display:none">"dark_on_light"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'light_on_dark'</span><span data-if="c" style="display:none">"light_on_dark"</span><span data-if="cpp" style="display:none">"light_on_dark"</span><span data-if="com" style="display:none">"light_on_dark"</span><span data-if="dotnet" style="display:none">"light_on_dark"</span><span data-if="python" style="display:none">"light_on_dark"</span></i>, <i><span data-if="hdevelop" style="display:inline">'any'</span><span data-if="c" style="display:none">"any"</span><span data-if="cpp" style="display:none">"any"</span><span data-if="com" style="display:none">"any"</span><span data-if="dotnet" style="display:none">"any"</span><span data-if="python" style="display:none">"any"</span></i>.</p>
<p>
<i>Default:</i> <i><span data-if="hdevelop" style="display:inline">'dark_on_light'</span><span data-if="c" style="display:none">"dark_on_light"</span><span data-if="cpp" style="display:none">"dark_on_light"</span><span data-if="com" style="display:none">"dark_on_light"</span><span data-if="dotnet" style="display:none">"dark_on_light"</span><span data-if="python" style="display:none">"dark_on_light"</span></i>
(enhanced: <i><span data-if="hdevelop" style="display:inline">'any'</span><span data-if="c" style="display:none">"any"</span><span data-if="cpp" style="display:none">"any"</span><span data-if="com" style="display:none">"any"</span><span data-if="dotnet" style="display:none">"any"</span><span data-if="python" style="display:none">"any"</span></i>)
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'mirrored'</span><span data-if="c" style="display:none">"mirrored"</span><span data-if="cpp" style="display:none">"mirrored"</span><span data-if="com" style="display:none">"mirrored"</span><span data-if="dotnet" style="display:none">"mirrored"</span><span data-if="python" style="display:none">"mirrored"</span></i>:</b></dt>
<dd>
<p>

Describes whether the symbol is or may be mirrored (which is
equivalent to swapping rows and columns of the symbol).</p>
<p>
<i>Values:</i> <i><span data-if="hdevelop" style="display:inline">'no'</span><span data-if="c" style="display:none">"no"</span><span data-if="cpp" style="display:none">"no"</span><span data-if="com" style="display:none">"no"</span><span data-if="dotnet" style="display:none">"no"</span><span data-if="python" style="display:none">"no"</span></i>, <i><span data-if="hdevelop" style="display:inline">'yes'</span><span data-if="c" style="display:none">"yes"</span><span data-if="cpp" style="display:none">"yes"</span><span data-if="com" style="display:none">"yes"</span><span data-if="dotnet" style="display:none">"yes"</span><span data-if="python" style="display:none">"yes"</span></i>, <i><span data-if="hdevelop" style="display:inline">'any'</span><span data-if="c" style="display:none">"any"</span><span data-if="cpp" style="display:none">"any"</span><span data-if="com" style="display:none">"any"</span><span data-if="dotnet" style="display:none">"any"</span><span data-if="python" style="display:none">"any"</span></i></p>
<p>
<i>Default:</i> <i><span data-if="hdevelop" style="display:inline">'any'</span><span data-if="c" style="display:none">"any"</span><span data-if="cpp" style="display:none">"any"</span><span data-if="com" style="display:none">"any"</span><span data-if="dotnet" style="display:none">"any"</span><span data-if="python" style="display:none">"any"</span></i>
</p>
</dd>
</dl>

</li>
<li>
<p> All data code types except Data Matrix ECC 200 and DotCode:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'contrast_min'</span><span data-if="c" style="display:none">"contrast_min"</span><span data-if="cpp" style="display:none">"contrast_min"</span><span data-if="com" style="display:none">"contrast_min"</span><span data-if="dotnet" style="display:none">"contrast_min"</span><span data-if="python" style="display:none">"contrast_min"</span></i>:</b></dt>
<dd>
<p>

Minimum contrast between the foreground and the background of
the symbol (specified as gray value difference). This measure
corresponds with the minimum gradient between the symbol's
foreground and the background and is therefore also depending on
the image sharpness.</p>
<p>
<i>Values:</i> [<i>1</i> .. <i>255</i>]</p>
<p>
<i>Default:</i> <i>30</i> (enhanced: <i>10</i>)
</p>
</dd>
</dl>

</li>
<li>
<p> All data code types except PDF417:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'module_size_min'</span><span data-if="c" style="display:none">"module_size_min"</span><span data-if="cpp" style="display:none">"module_size_min"</span><span data-if="com" style="display:none">"module_size_min"</span><span data-if="dotnet" style="display:none">"module_size_min"</span><span data-if="python" style="display:none">"module_size_min"</span></i>:</b></dt>
<dd>
<p>

Minimum size of the modules in the image in pixels. Please
note that for optimal reading performance a module size of
at least 3-4 pixels is recommended.</p>
<p>
<i>Values:</i>  [<i>1</i> .. <i>100</i>]</p>
<p>
<i>Default:</i> <i>6</i>
(enhanced: <i>2</i>, maximum: <i>1</i>) </p>
<p>
For DotCode:</p>
<p>
<i>Default:</i> <i>4</i> (enhanced, maximum: <i>2</i>)
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'module_size_max'</span><span data-if="c" style="display:none">"module_size_max"</span><span data-if="cpp" style="display:none">"module_size_max"</span><span data-if="com" style="display:none">"module_size_max"</span><span data-if="dotnet" style="display:none">"module_size_max"</span><span data-if="python" style="display:none">"module_size_max"</span></i>:</b></dt>
<dd>
<p>

Maximum size of the modules in the image in pixels.</p>
<p>
<i>Values:</i> [<i>2</i> .. <i>100</i>]</p>
<p>
<i>Default:</i> <i>20</i> (enhanced: <i>100</i>)</p>
<p>
For DotCode:</p>
<p>
<i>Default:</i> <i>100</i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'module_size'</span><span data-if="c" style="display:none">"module_size"</span><span data-if="cpp" style="display:none">"module_size"</span><span data-if="com" style="display:none">"module_size"</span><span data-if="dotnet" style="display:none">"module_size"</span><span data-if="python" style="display:none">"module_size"</span></i>:</b></dt>
<dd>
<p>

Set <i><span data-if="hdevelop" style="display:inline">'module_size_min'</span><span data-if="c" style="display:none">"module_size_min"</span><span data-if="cpp" style="display:none">"module_size_min"</span><span data-if="com" style="display:none">"module_size_min"</span><span data-if="dotnet" style="display:none">"module_size_min"</span><span data-if="python" style="display:none">"module_size_min"</span></i> and <i><span data-if="hdevelop" style="display:inline">'module_size_max'</span><span data-if="c" style="display:none">"module_size_max"</span><span data-if="cpp" style="display:none">"module_size_max"</span><span data-if="com" style="display:none">"module_size_max"</span><span data-if="dotnet" style="display:none">"module_size_max"</span><span data-if="python" style="display:none">"module_size_max"</span></i>
to the same value.
</p>
</dd>
</dl>

<p>The gap between modules can be set via the <i><span data-if="hdevelop" style="display:inline">'module_gap*'</span><span data-if="c" style="display:none">"module_gap*"</span><span data-if="cpp" style="display:none">"module_gap*"</span><span data-if="com" style="display:none">"module_gap*"</span><span data-if="dotnet" style="display:none">"module_gap*"</span><span data-if="python" style="display:none">"module_gap*"</span></i>
parameters as explained in the following paragraph:</p>


<p>It is possible to specify whether neighboring foreground
modules are connected or whether there is or may be a gap between
them.
If the foreground modules are connected and fill the module
space completely, the gap parameter can be set to <i><span data-if="hdevelop" style="display:inline">'no'</span><span data-if="c" style="display:none">"no"</span><span data-if="cpp" style="display:none">"no"</span><span data-if="com" style="display:none">"no"</span><span data-if="dotnet" style="display:none">"no"</span><span data-if="python" style="display:none">"no"</span></i>.
The parameter is set to <i><span data-if="hdevelop" style="display:inline">'small'</span><span data-if="c" style="display:none">"small"</span><span data-if="cpp" style="display:none">"small"</span><span data-if="com" style="display:none">"small"</span><span data-if="dotnet" style="display:none">"small"</span><span data-if="python" style="display:none">"small"</span></i> if there is a very
small gap between two modules, i.e.,&lt; 10% of the module size.
It can be set to <i><span data-if="hdevelop" style="display:inline">'big'</span><span data-if="c" style="display:none">"big"</span><span data-if="cpp" style="display:none">"big"</span><span data-if="com" style="display:none">"big"</span><span data-if="dotnet" style="display:none">"big"</span><span data-if="python" style="display:none">"big"</span></i>
if the gap is bigger
(in relation to the module size: &lt; 50%).
The last two settings may also be useful if the foreground
modules - although being connected - appear thinner as
their entitled space (e.g., as a result of blooming caused by a
bright illuminant).
If the foreground modules appear only as very small dots,
in general, an
appropriate preprocessing of the image for detecting or
enlarging the modules will be necessary (e.g., by
<a href="gray_erosion_shape.html"><code><span data-if="hdevelop" style="display:inline">gray_erosion_shape</span><span data-if="c" style="display:none">gray_erosion_shape</span><span data-if="cpp" style="display:none">GrayErosionShape</span><span data-if="com" style="display:none">GrayErosionShape</span><span data-if="dotnet" style="display:none">GrayErosionShape</span><span data-if="python" style="display:none">gray_erosion_shape</span></code></a> or <a href="gray_dilation_shape.html"><code><span data-if="hdevelop" style="display:inline">gray_dilation_shape</span><span data-if="c" style="display:none">gray_dilation_shape</span><span data-if="cpp" style="display:none">GrayDilationShape</span><span data-if="com" style="display:none">GrayDilationShape</span><span data-if="dotnet" style="display:none">GrayDilationShape</span><span data-if="python" style="display:none">gray_dilation_shape</span></code></a>).
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'module_gap_min'</span><span data-if="c" style="display:none">"module_gap_min"</span><span data-if="cpp" style="display:none">"module_gap_min"</span><span data-if="com" style="display:none">"module_gap_min"</span><span data-if="dotnet" style="display:none">"module_gap_min"</span><span data-if="python" style="display:none">"module_gap_min"</span></i>:</b></dt>
<dd>
<p>

Minimum gap.</p>
<p>
<i>Values:</i> <i><span data-if="hdevelop" style="display:inline">'no'</span><span data-if="c" style="display:none">"no"</span><span data-if="cpp" style="display:none">"no"</span><span data-if="com" style="display:none">"no"</span><span data-if="dotnet" style="display:none">"no"</span><span data-if="python" style="display:none">"no"</span></i>, <i><span data-if="hdevelop" style="display:inline">'small'</span><span data-if="c" style="display:none">"small"</span><span data-if="cpp" style="display:none">"small"</span><span data-if="com" style="display:none">"small"</span><span data-if="dotnet" style="display:none">"small"</span><span data-if="python" style="display:none">"small"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'big'</span><span data-if="c" style="display:none">"big"</span><span data-if="cpp" style="display:none">"big"</span><span data-if="com" style="display:none">"big"</span><span data-if="dotnet" style="display:none">"big"</span><span data-if="python" style="display:none">"big"</span></i> (<i><span data-if="hdevelop" style="display:inline">'big'</span><span data-if="c" style="display:none">"big"</span><span data-if="cpp" style="display:none">"big"</span><span data-if="com" style="display:none">"big"</span><span data-if="dotnet" style="display:none">"big"</span><span data-if="python" style="display:none">"big"</span></i> is not available for DotCode)</p>
<p>
<i>Default:</i> <i><span data-if="hdevelop" style="display:inline">'no'</span><span data-if="c" style="display:none">"no"</span><span data-if="cpp" style="display:none">"no"</span><span data-if="com" style="display:none">"no"</span><span data-if="dotnet" style="display:none">"no"</span><span data-if="python" style="display:none">"no"</span></i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'module_gap_max'</span><span data-if="c" style="display:none">"module_gap_max"</span><span data-if="cpp" style="display:none">"module_gap_max"</span><span data-if="com" style="display:none">"module_gap_max"</span><span data-if="dotnet" style="display:none">"module_gap_max"</span><span data-if="python" style="display:none">"module_gap_max"</span></i>:</b></dt>
<dd>
<p>

Maximum gap.</p>
<p>
<i>Values:</i> <i><span data-if="hdevelop" style="display:inline">'no'</span><span data-if="c" style="display:none">"no"</span><span data-if="cpp" style="display:none">"no"</span><span data-if="com" style="display:none">"no"</span><span data-if="dotnet" style="display:none">"no"</span><span data-if="python" style="display:none">"no"</span></i>, <i><span data-if="hdevelop" style="display:inline">'small'</span><span data-if="c" style="display:none">"small"</span><span data-if="cpp" style="display:none">"small"</span><span data-if="com" style="display:none">"small"</span><span data-if="dotnet" style="display:none">"small"</span><span data-if="python" style="display:none">"small"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'big'</span><span data-if="c" style="display:none">"big"</span><span data-if="cpp" style="display:none">"big"</span><span data-if="com" style="display:none">"big"</span><span data-if="dotnet" style="display:none">"big"</span><span data-if="python" style="display:none">"big"</span></i></p>
<p>
<i>Default (Data Matrix ECC 200):</i> <i><span data-if="hdevelop" style="display:inline">'no'</span><span data-if="c" style="display:none">"no"</span><span data-if="cpp" style="display:none">"no"</span><span data-if="com" style="display:none">"no"</span><span data-if="dotnet" style="display:none">"no"</span><span data-if="python" style="display:none">"no"</span></i> (enhanced:
<i><span data-if="hdevelop" style="display:inline">'small'</span><span data-if="c" style="display:none">"small"</span><span data-if="cpp" style="display:none">"small"</span><span data-if="com" style="display:none">"small"</span><span data-if="dotnet" style="display:none">"small"</span><span data-if="python" style="display:none">"small"</span></i>,
maximum: <i><span data-if="hdevelop" style="display:inline">'big'</span><span data-if="c" style="display:none">"big"</span><span data-if="cpp" style="display:none">"big"</span><span data-if="com" style="display:none">"big"</span><span data-if="dotnet" style="display:none">"big"</span><span data-if="python" style="display:none">"big"</span></i>) </p>
<p>
<i>Default (DotCode):</i> <i><span data-if="hdevelop" style="display:inline">'no'</span><span data-if="c" style="display:none">"no"</span><span data-if="cpp" style="display:none">"no"</span><span data-if="com" style="display:none">"no"</span><span data-if="dotnet" style="display:none">"no"</span><span data-if="python" style="display:none">"no"</span></i> (enhanced:
<i><span data-if="hdevelop" style="display:inline">'small'</span><span data-if="c" style="display:none">"small"</span><span data-if="cpp" style="display:none">"small"</span><span data-if="com" style="display:none">"small"</span><span data-if="dotnet" style="display:none">"small"</span><span data-if="python" style="display:none">"small"</span></i>,
maximum: <i><span data-if="hdevelop" style="display:inline">'small'</span><span data-if="c" style="display:none">"small"</span><span data-if="cpp" style="display:none">"small"</span><span data-if="com" style="display:none">"small"</span><span data-if="dotnet" style="display:none">"small"</span><span data-if="python" style="display:none">"small"</span></i>) </p>
<p>
<i>Default (Aztec Code, Micro QR Code, QR Code):</i>
<i><span data-if="hdevelop" style="display:inline">'small'</span><span data-if="c" style="display:none">"small"</span><span data-if="cpp" style="display:none">"small"</span><span data-if="com" style="display:none">"small"</span><span data-if="dotnet" style="display:none">"small"</span><span data-if="python" style="display:none">"small"</span></i> (enhanced: <i><span data-if="hdevelop" style="display:inline">'big'</span><span data-if="c" style="display:none">"big"</span><span data-if="cpp" style="display:none">"big"</span><span data-if="com" style="display:none">"big"</span><span data-if="dotnet" style="display:none">"big"</span><span data-if="python" style="display:none">"big"</span></i>)
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'module_gap'</span><span data-if="c" style="display:none">"module_gap"</span><span data-if="cpp" style="display:none">"module_gap"</span><span data-if="com" style="display:none">"module_gap"</span><span data-if="dotnet" style="display:none">"module_gap"</span><span data-if="python" style="display:none">"module_gap"</span></i>:</b></dt>
<dd>
<p>

Set <i><span data-if="hdevelop" style="display:inline">'module_gap_min'</span><span data-if="c" style="display:none">"module_gap_min"</span><span data-if="cpp" style="display:none">"module_gap_min"</span><span data-if="com" style="display:none">"module_gap_min"</span><span data-if="dotnet" style="display:none">"module_gap_min"</span><span data-if="python" style="display:none">"module_gap_min"</span></i> and
<i><span data-if="hdevelop" style="display:inline">'module_gap_max'</span><span data-if="c" style="display:none">"module_gap_max"</span><span data-if="cpp" style="display:none">"module_gap_max"</span><span data-if="com" style="display:none">"module_gap_max"</span><span data-if="dotnet" style="display:none">"module_gap_max"</span><span data-if="python" style="display:none">"module_gap_max"</span></i> to the same value.
</p>
</dd>
</dl>

</li>
<li>
<p> All data code types except DotCode:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'small_modules_robustness'</span><span data-if="c" style="display:none">"small_modules_robustness"</span><span data-if="cpp" style="display:none">"small_modules_robustness"</span><span data-if="com" style="display:none">"small_modules_robustness"</span><span data-if="dotnet" style="display:none">"small_modules_robustness"</span><span data-if="python" style="display:none">"small_modules_robustness"</span></i>:</b></dt>
<dd>
<p>

Robustness of the decoding of data codes with very small
module sizes. Setting the parameter
<i><span data-if="hdevelop" style="display:inline">'small_modules_robustness'</span><span data-if="c" style="display:none">"small_modules_robustness"</span><span data-if="cpp" style="display:none">"small_modules_robustness"</span><span data-if="com" style="display:none">"small_modules_robustness"</span><span data-if="dotnet" style="display:none">"small_modules_robustness"</span><span data-if="python" style="display:none">"small_modules_robustness"</span></i> to <i><span data-if="hdevelop" style="display:inline">'high'</span><span data-if="c" style="display:none">"high"</span><span data-if="cpp" style="display:none">"high"</span><span data-if="com" style="display:none">"high"</span><span data-if="dotnet" style="display:none">"high"</span><span data-if="python" style="display:none">"high"</span></i>
increases the likelihood of being able to
decode data codes with very small module sizes. Additionally,
in that case the minimum module size should also be adapted
accordingly, thus <i><span data-if="hdevelop" style="display:inline">'module_size_min'</span><span data-if="c" style="display:none">"module_size_min"</span><span data-if="cpp" style="display:none">"module_size_min"</span><span data-if="com" style="display:none">"module_size_min"</span><span data-if="dotnet" style="display:none">"module_size_min"</span><span data-if="python" style="display:none">"module_size_min"</span></i> and
<i><span data-if="hdevelop" style="display:inline">'module_width_min'</span><span data-if="c" style="display:none">"module_width_min"</span><span data-if="cpp" style="display:none">"module_width_min"</span><span data-if="com" style="display:none">"module_width_min"</span><span data-if="dotnet" style="display:none">"module_width_min"</span><span data-if="python" style="display:none">"module_width_min"</span></i> (PDF417) should be set to
the expected minimum module size and width, respectively. Setting
<i><span data-if="hdevelop" style="display:inline">'small_modules_robustness'</span><span data-if="c" style="display:none">"small_modules_robustness"</span><span data-if="cpp" style="display:none">"small_modules_robustness"</span><span data-if="com" style="display:none">"small_modules_robustness"</span><span data-if="dotnet" style="display:none">"small_modules_robustness"</span><span data-if="python" style="display:none">"small_modules_robustness"</span></i> to <i><span data-if="hdevelop" style="display:inline">'high'</span><span data-if="c" style="display:none">"high"</span><span data-if="cpp" style="display:none">"high"</span><span data-if="com" style="display:none">"high"</span><span data-if="dotnet" style="display:none">"high"</span><span data-if="python" style="display:none">"high"</span></i> can
significantly increase the internal memory usage of
<a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a>. Thus, in the default case
<i><span data-if="hdevelop" style="display:inline">'small_modules_robustness'</span><span data-if="c" style="display:none">"small_modules_robustness"</span><span data-if="cpp" style="display:none">"small_modules_robustness"</span><span data-if="com" style="display:none">"small_modules_robustness"</span><span data-if="dotnet" style="display:none">"small_modules_robustness"</span><span data-if="python" style="display:none">"small_modules_robustness"</span></i> should be set to <i><span data-if="hdevelop" style="display:inline">'low'</span><span data-if="c" style="display:none">"low"</span><span data-if="cpp" style="display:none">"low"</span><span data-if="com" style="display:none">"low"</span><span data-if="dotnet" style="display:none">"low"</span><span data-if="python" style="display:none">"low"</span></i>.
If <i><span data-if="hdevelop" style="display:inline">'small_modules_robustness'</span><span data-if="c" style="display:none">"small_modules_robustness"</span><span data-if="cpp" style="display:none">"small_modules_robustness"</span><span data-if="com" style="display:none">"small_modules_robustness"</span><span data-if="dotnet" style="display:none">"small_modules_robustness"</span><span data-if="python" style="display:none">"small_modules_robustness"</span></i> is set to <i><span data-if="hdevelop" style="display:inline">'high'</span><span data-if="c" style="display:none">"high"</span><span data-if="cpp" style="display:none">"high"</span><span data-if="com" style="display:none">"high"</span><span data-if="dotnet" style="display:none">"high"</span><span data-if="python" style="display:none">"high"</span></i>
the maximal accepted image size is bisected (see
<a href="get_system.html"><code><span data-if="hdevelop" style="display:inline">get_system</span><span data-if="c" style="display:none">get_system</span><span data-if="cpp" style="display:none">GetSystem</span><span data-if="com" style="display:none">GetSystem</span><span data-if="dotnet" style="display:none">GetSystem</span><span data-if="python" style="display:none">get_system</span></code></a> <i><span data-if="hdevelop" style="display:inline">'halcon_xl'</span><span data-if="c" style="display:none">"halcon_xl"</span><span data-if="cpp" style="display:none">"halcon_xl"</span><span data-if="com" style="display:none">"halcon_xl"</span><span data-if="dotnet" style="display:none">"halcon_xl"</span><span data-if="python" style="display:none">"halcon_xl"</span></i>).
</p>
<p><i>Values:</i> <i><span data-if="hdevelop" style="display:inline">'low'</span><span data-if="c" style="display:none">"low"</span><span data-if="cpp" style="display:none">"low"</span><span data-if="com" style="display:none">"low"</span><span data-if="dotnet" style="display:none">"low"</span><span data-if="python" style="display:none">"low"</span></i>, <i><span data-if="hdevelop" style="display:inline">'high'</span><span data-if="c" style="display:none">"high"</span><span data-if="cpp" style="display:none">"high"</span><span data-if="com" style="display:none">"high"</span><span data-if="dotnet" style="display:none">"high"</span><span data-if="python" style="display:none">"high"</span></i></p>
<p>
<i>Default:</i> <i><span data-if="hdevelop" style="display:inline">'low'</span><span data-if="c" style="display:none">"low"</span><span data-if="cpp" style="display:none">"low"</span><span data-if="com" style="display:none">"low"</span><span data-if="dotnet" style="display:none">"low"</span><span data-if="python" style="display:none">"low"</span></i> (enhanced: <i><span data-if="hdevelop" style="display:inline">'low'</span><span data-if="c" style="display:none">"low"</span><span data-if="cpp" style="display:none">"low"</span><span data-if="com" style="display:none">"low"</span><span data-if="dotnet" style="display:none">"low"</span><span data-if="python" style="display:none">"low"</span></i>,
maximum: <i><span data-if="hdevelop" style="display:inline">'high'</span><span data-if="c" style="display:none">"high"</span><span data-if="cpp" style="display:none">"high"</span><span data-if="com" style="display:none">"high"</span><span data-if="dotnet" style="display:none">"high"</span><span data-if="python" style="display:none">"high"</span></i>)
</p>
</dd>
</dl>

</li>
<li>
<p> PDF417:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'module_width_min'</span><span data-if="c" style="display:none">"module_width_min"</span><span data-if="cpp" style="display:none">"module_width_min"</span><span data-if="com" style="display:none">"module_width_min"</span><span data-if="dotnet" style="display:none">"module_width_min"</span><span data-if="python" style="display:none">"module_width_min"</span></i>:</b></dt>
<dd>
<p>

Minimum module width in the image in pixels.</p>
<p>
<i>Values:</i> [<i>1</i> .. <i>100</i>]</p>
<p>
<i>Default:</i> <i>3</i> (enhanced: <i>2</i>,
maximum: <i>1</i>)
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'module_width_max'</span><span data-if="c" style="display:none">"module_width_max"</span><span data-if="cpp" style="display:none">"module_width_max"</span><span data-if="com" style="display:none">"module_width_max"</span><span data-if="dotnet" style="display:none">"module_width_max"</span><span data-if="python" style="display:none">"module_width_max"</span></i>:</b></dt>
<dd>
<p>

Maximum module width in the image in pixels.</p>
<p>
<i>Values:</i> [<i>2</i> .. <i>100</i>]</p>
<p>
<i>Default:</i> <i>15</i> (enhanced: <i>100</i>)
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'module_width'</span><span data-if="c" style="display:none">"module_width"</span><span data-if="cpp" style="display:none">"module_width"</span><span data-if="com" style="display:none">"module_width"</span><span data-if="dotnet" style="display:none">"module_width"</span><span data-if="python" style="display:none">"module_width"</span></i>:</b></dt>
<dd>
<p>

Set <i><span data-if="hdevelop" style="display:inline">'module_width_min'</span><span data-if="c" style="display:none">"module_width_min"</span><span data-if="cpp" style="display:none">"module_width_min"</span><span data-if="com" style="display:none">"module_width_min"</span><span data-if="dotnet" style="display:none">"module_width_min"</span><span data-if="python" style="display:none">"module_width_min"</span></i> and <i><span data-if="hdevelop" style="display:inline">'module_width_max'</span><span data-if="c" style="display:none">"module_width_max"</span><span data-if="cpp" style="display:none">"module_width_max"</span><span data-if="com" style="display:none">"module_width_max"</span><span data-if="dotnet" style="display:none">"module_width_max"</span><span data-if="python" style="display:none">"module_width_max"</span></i>
to the same value.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'module_aspect_min'</span><span data-if="c" style="display:none">"module_aspect_min"</span><span data-if="cpp" style="display:none">"module_aspect_min"</span><span data-if="com" style="display:none">"module_aspect_min"</span><span data-if="dotnet" style="display:none">"module_aspect_min"</span><span data-if="python" style="display:none">"module_aspect_min"</span></i>:</b></dt>
<dd>
<p>

Minimum module aspect ratio (module height to module width). </p>
<p>
<i>Values:</i> [<i>0.5</i> .. <i>20.0</i>]</p>
<p>
<i>Default:</i> <i>1.0</i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'module_aspect_max'</span><span data-if="c" style="display:none">"module_aspect_max"</span><span data-if="cpp" style="display:none">"module_aspect_max"</span><span data-if="com" style="display:none">"module_aspect_max"</span><span data-if="dotnet" style="display:none">"module_aspect_max"</span><span data-if="python" style="display:none">"module_aspect_max"</span></i>:</b></dt>
<dd>
<p>

Maximum module aspect ratio (module height to module width). </p>
<p>
<i>Values:</i> [<i>0.5</i> .. <i>20.0</i>]</p>
<p>
<i>Default:</i> <i>4.0</i> (enhanced: <i>10.0</i>)
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'module_aspect'</span><span data-if="c" style="display:none">"module_aspect"</span><span data-if="cpp" style="display:none">"module_aspect"</span><span data-if="com" style="display:none">"module_aspect"</span><span data-if="dotnet" style="display:none">"module_aspect"</span><span data-if="python" style="display:none">"module_aspect"</span></i>:</b></dt>
<dd>
<p>

Set <i><span data-if="hdevelop" style="display:inline">'module_aspect_min'</span><span data-if="c" style="display:none">"module_aspect_min"</span><span data-if="cpp" style="display:none">"module_aspect_min"</span><span data-if="com" style="display:none">"module_aspect_min"</span><span data-if="dotnet" style="display:none">"module_aspect_min"</span><span data-if="python" style="display:none">"module_aspect_min"</span></i> and
<i><span data-if="hdevelop" style="display:inline">'module_aspect_max'</span><span data-if="c" style="display:none">"module_aspect_max"</span><span data-if="cpp" style="display:none">"module_aspect_max"</span><span data-if="com" style="display:none">"module_aspect_max"</span><span data-if="dotnet" style="display:none">"module_aspect_max"</span><span data-if="python" style="display:none">"module_aspect_max"</span></i> to the same value.
</p>
</dd>
</dl>

</li>
<li>
<p> Data Matrix ECC 200:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'slant_max'</span><span data-if="c" style="display:none">"slant_max"</span><span data-if="cpp" style="display:none">"slant_max"</span><span data-if="com" style="display:none">"slant_max"</span><span data-if="dotnet" style="display:none">"slant_max"</span><span data-if="python" style="display:none">"slant_max"</span></i>:</b></dt>
<dd>
<p>

Maximum deviation of the angle of the L-shaped finder pattern
from the (ideal) right angle (the angle is specified
in radians and corresponds to the distortion that occurs
when the symbol is printed or during the image
acquisition).</p>
<p>
<i>Value range:</i> [<i>0.0</i> .. <i>0.5235</i>]</p>
<p>
<i>Default:</i> <i>0.1745</i> = <span title="1" style="vertical-align:-0.0930062em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1.58028em" height="0.811013em" viewBox="0 0 25.284409 12.976212">
<!-- Original BoundingBox: -12.642212 -6.488113 12.642197 6.488098 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_48">
      <path style="fill-rule: evenodd;" d="M460.000000 -320.000000C460.000000 -400.000000,455.000000 -480.000000,420.000000 -554.000000C374.000000 -650.000000,292.000000 -666.000000,250.000000 -666.000000C190.000000 -666.000000,117.000000 -640.000000,76.000000 -547.000000C44.000000 -478.000000,39.000000 -400.000000,39.000000 -320.000000C39.000000 -245.000000,43.000000 -155.000000,84.000000 -79.000000C127.000000 2.000000,200.000000 22.000000,249.000000 22.000000C303.000000 22.000000,379.000000 1.000000,423.000000 -94.000000C455.000000 -163.000000,460.000000 -241.000000,460.000000 -320.000000M249.000000 -0.000000C210.000000 -0.000000,151.000000 -25.000000,133.000000 -121.000000C122.000000 -181.000000,122.000000 -273.000000,122.000000 -332.000000C122.000000 -396.000000,122.000000 -462.000000,130.000000 -516.000000C149.000000 -635.000000,224.000000 -644.000000,249.000000 -644.000000C282.000000 -644.000000,348.000000 -626.000000,367.000000 -527.000000C377.000000 -471.000000,377.000000 -395.000000,377.000000 -332.000000C377.000000 -257.000000,377.000000 -189.000000,366.000000 -125.000000C351.000000 -30.000000,294.000000 -0.000000,249.000000 -0.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_49">
      <path style="fill-rule: evenodd;" d="M294.000000 -640.000000C294.000000 -664.000000,294.000000 -666.000000,271.000000 -666.000000C209.000000 -602.000000,121.000000 -602.000000,89.000000 -602.000000L89.000000 -571.000000C109.000000 -571.000000,168.000000 -571.000000,220.000000 -597.000000L220.000000 -79.000000C220.000000 -43.000000,217.000000 -31.000000,127.000000 -31.000000L95.000000 -31.000000L95.000000 -0.000000L257.000000 -0.000000L130.000000 -3.000000L217.000000 -3.000000L257.000000 -3.000000L297.000000 -3.000000L384.000000 -3.000000L419.000000 -0.000000L419.000000 -31.000000L387.000000 -31.000000C297.000000 -31.000000,294.000000 -42.000000,294.000000 -79.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmsy7_14">
      <path style="fill-rule: evenodd;" d="M507.000000 -250.000000C507.000000 -371.000000,410.000000 -465.000000,292.000000 -465.000000C172.000000 -465.000000,77.000000 -368.000000,77.000000 -251.000000C77.000000 -130.000000,174.000000 -36.000000,292.000000 -36.000000C412.000000 -36.000000,507.000000 -133.000000,507.000000 -250.000000M292.000000 -85.000000C198.000000 -85.000000,126.000000 -161.000000,126.000000 -250.000000C126.000000 -343.000000,200.000000 -416.000000,292.000000 -416.000000C386.000000 -416.000000,458.000000 -340.000000,458.000000 -251.000000C458.000000 -158.000000,384.000000 -85.000000,292.000000 -85.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.373779 11.488113)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_49"></use>
    <use xlink:href="#GLYPHcmr10_48" x="5.000095"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,16.313995 5.703445)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy7_14"></use>
  </g>
</svg></span>
(enhanced: <i>0.5235</i> = <span title="2" style="vertical-align:-0.0930062em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1.58028em" height="0.811013em" viewBox="0 0 25.284409 12.976212">
<!-- Original BoundingBox: -12.642212 -6.488113 12.642197 6.488098 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_48">
      <path style="fill-rule: evenodd;" d="M460.000000 -320.000000C460.000000 -400.000000,455.000000 -480.000000,420.000000 -554.000000C374.000000 -650.000000,292.000000 -666.000000,250.000000 -666.000000C190.000000 -666.000000,117.000000 -640.000000,76.000000 -547.000000C44.000000 -478.000000,39.000000 -400.000000,39.000000 -320.000000C39.000000 -245.000000,43.000000 -155.000000,84.000000 -79.000000C127.000000 2.000000,200.000000 22.000000,249.000000 22.000000C303.000000 22.000000,379.000000 1.000000,423.000000 -94.000000C455.000000 -163.000000,460.000000 -241.000000,460.000000 -320.000000M249.000000 -0.000000C210.000000 -0.000000,151.000000 -25.000000,133.000000 -121.000000C122.000000 -181.000000,122.000000 -273.000000,122.000000 -332.000000C122.000000 -396.000000,122.000000 -462.000000,130.000000 -516.000000C149.000000 -635.000000,224.000000 -644.000000,249.000000 -644.000000C282.000000 -644.000000,348.000000 -626.000000,367.000000 -527.000000C377.000000 -471.000000,377.000000 -395.000000,377.000000 -332.000000C377.000000 -257.000000,377.000000 -189.000000,366.000000 -125.000000C351.000000 -30.000000,294.000000 -0.000000,249.000000 -0.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_51">
      <path style="fill-rule: evenodd;" d="M290.000000 -352.000000C372.000000 -379.000000,430.000000 -449.000000,430.000000 -528.000000C430.000000 -610.000000,342.000000 -666.000000,246.000000 -666.000000C145.000000 -666.000000,69.000000 -606.000000,69.000000 -530.000000C69.000000 -497.000000,91.000000 -478.000000,120.000000 -478.000000C151.000000 -478.000000,171.000000 -500.000000,171.000000 -529.000000C171.000000 -579.000000,124.000000 -579.000000,109.000000 -579.000000C140.000000 -628.000000,206.000000 -641.000000,242.000000 -641.000000C283.000000 -641.000000,338.000000 -619.000000,338.000000 -529.000000C338.000000 -517.000000,336.000000 -459.000000,310.000000 -415.000000C280.000000 -367.000000,246.000000 -364.000000,221.000000 -363.000000C213.000000 -362.000000,189.000000 -360.000000,182.000000 -360.000000C174.000000 -359.000000,167.000000 -358.000000,167.000000 -348.000000C167.000000 -337.000000,174.000000 -337.000000,191.000000 -337.000000L235.000000 -337.000000C317.000000 -337.000000,354.000000 -269.000000,354.000000 -171.000000C354.000000 -35.000000,285.000000 -6.000000,241.000000 -6.000000C198.000000 -6.000000,123.000000 -23.000000,88.000000 -82.000000C123.000000 -77.000000,154.000000 -99.000000,154.000000 -137.000000C154.000000 -173.000000,127.000000 -193.000000,98.000000 -193.000000C74.000000 -193.000000,42.000000 -179.000000,42.000000 -135.000000C42.000000 -44.000000,135.000000 22.000000,244.000000 22.000000C366.000000 22.000000,457.000000 -69.000000,457.000000 -171.000000C457.000000 -253.000000,394.000000 -331.000000,290.000000 -352.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmsy7_14">
      <path style="fill-rule: evenodd;" d="M507.000000 -250.000000C507.000000 -371.000000,410.000000 -465.000000,292.000000 -465.000000C172.000000 -465.000000,77.000000 -368.000000,77.000000 -251.000000C77.000000 -130.000000,174.000000 -36.000000,292.000000 -36.000000C412.000000 -36.000000,507.000000 -133.000000,507.000000 -250.000000M292.000000 -85.000000C198.000000 -85.000000,126.000000 -161.000000,126.000000 -250.000000C126.000000 -343.000000,200.000000 -416.000000,292.000000 -416.000000C386.000000 -416.000000,458.000000 -340.000000,458.000000 -251.000000C458.000000 -158.000000,384.000000 -85.000000,292.000000 -85.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.373779 11.488113)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_51"></use>
    <use xlink:href="#GLYPHcmr10_48" x="5.000095"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,16.313995 5.703445)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy7_14"></use>
  </g>
</svg></span>)
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'finder_pattern_tolerance'</span><span data-if="c" style="display:none">"finder_pattern_tolerance"</span><span data-if="cpp" style="display:none">"finder_pattern_tolerance"</span><span data-if="com" style="display:none">"finder_pattern_tolerance"</span><span data-if="dotnet" style="display:none">"finder_pattern_tolerance"</span><span data-if="python" style="display:none">"finder_pattern_tolerance"</span></i>:</b></dt>
<dd>
<p>

Tolerance of the search with respect to a defect or
partially occluded finder pattern. The finder pattern
includes the L-shaped side as well as the opposite
alternating side.  Dependent on this parameter, different
algorithms are used during the symbol search in
<a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a>.  In one case (<i><span data-if="hdevelop" style="display:inline">'low'</span><span data-if="c" style="display:none">"low"</span><span data-if="cpp" style="display:none">"low"</span><span data-if="com" style="display:none">"low"</span><span data-if="dotnet" style="display:none">"low"</span><span data-if="python" style="display:none">"low"</span></i>),
it is assumed that the finder pattern is present to a high
degree and shows almost no disturbances.  In the other case
(<i><span data-if="hdevelop" style="display:inline">'high'</span><span data-if="c" style="display:none">"high"</span><span data-if="cpp" style="display:none">"high"</span><span data-if="com" style="display:none">"high"</span><span data-if="dotnet" style="display:none">"high"</span><span data-if="python" style="display:none">"high"</span></i>), the finder pattern may be defect or
partially occluded without influencing the recognition and
the reading of the symbol.
Note, however,
that in this mode the parameters for the symbol search
should be restricted as narrow as possible by using
<code><span data-if="hdevelop" style="display:inline">set_data_code_2d_param</span><span data-if="c" style="display:none">set_data_code_2d_param</span><span data-if="cpp" style="display:none">SetDataCode2dParam</span><span data-if="com" style="display:none">SetDataCode2dParam</span><span data-if="dotnet" style="display:none">SetDataCode2dParam</span><span data-if="python" style="display:none">set_data_code_2d_param</span></code> because otherwise the
run-time of <a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a> may significantly
increase.
Also note that the two algorithms slightly differ
from each other in terms of robustness. This may lead to
different results depending on the value of
<i><span data-if="hdevelop" style="display:inline">'finder_pattern_tolerance'</span><span data-if="c" style="display:none">"finder_pattern_tolerance"</span><span data-if="cpp" style="display:none">"finder_pattern_tolerance"</span><span data-if="com" style="display:none">"finder_pattern_tolerance"</span><span data-if="dotnet" style="display:none">"finder_pattern_tolerance"</span><span data-if="python" style="display:none">"finder_pattern_tolerance"</span></i> even if the finder
pattern of the symbol is not disturbed. For example, if
<i><span data-if="hdevelop" style="display:inline">'high'</span><span data-if="c" style="display:none">"high"</span><span data-if="cpp" style="display:none">"high"</span><span data-if="com" style="display:none">"high"</span><span data-if="dotnet" style="display:none">"high"</span><span data-if="python" style="display:none">"high"</span></i> is chosen, only symbols with an equidistant
module grid can be found (see below), and hence the
robustness to perspective distortions is
decreased. Finally, if <i><span data-if="hdevelop" style="display:inline">'finder_pattern_tolerance'</span><span data-if="c" style="display:none">"finder_pattern_tolerance"</span><span data-if="cpp" style="display:none">"finder_pattern_tolerance"</span><span data-if="com" style="display:none">"finder_pattern_tolerance"</span><span data-if="dotnet" style="display:none">"finder_pattern_tolerance"</span><span data-if="python" style="display:none">"finder_pattern_tolerance"</span></i>
is set to <i><span data-if="hdevelop" style="display:inline">'any'</span><span data-if="c" style="display:none">"any"</span><span data-if="cpp" style="display:none">"any"</span><span data-if="com" style="display:none">"any"</span><span data-if="dotnet" style="display:none">"any"</span><span data-if="python" style="display:none">"any"</span></i> both algorithms are applied.</p>
<p>
<i>Values:</i> <i><span data-if="hdevelop" style="display:inline">'low'</span><span data-if="c" style="display:none">"low"</span><span data-if="cpp" style="display:none">"low"</span><span data-if="com" style="display:none">"low"</span><span data-if="dotnet" style="display:none">"low"</span><span data-if="python" style="display:none">"low"</span></i>, <i><span data-if="hdevelop" style="display:inline">'high'</span><span data-if="c" style="display:none">"high"</span><span data-if="cpp" style="display:none">"high"</span><span data-if="com" style="display:none">"high"</span><span data-if="dotnet" style="display:none">"high"</span><span data-if="python" style="display:none">"high"</span></i>,<i><span data-if="hdevelop" style="display:inline">'any'</span><span data-if="c" style="display:none">"any"</span><span data-if="cpp" style="display:none">"any"</span><span data-if="com" style="display:none">"any"</span><span data-if="dotnet" style="display:none">"any"</span><span data-if="python" style="display:none">"any"</span></i></p>
<p>
<i>Default:</i> <i><span data-if="hdevelop" style="display:inline">'low'</span><span data-if="c" style="display:none">"low"</span><span data-if="cpp" style="display:none">"low"</span><span data-if="com" style="display:none">"low"</span><span data-if="dotnet" style="display:none">"low"</span><span data-if="python" style="display:none">"low"</span></i>
(enhanced: <i><span data-if="hdevelop" style="display:inline">'low'</span><span data-if="c" style="display:none">"low"</span><span data-if="cpp" style="display:none">"low"</span><span data-if="com" style="display:none">"low"</span><span data-if="dotnet" style="display:none">"low"</span><span data-if="python" style="display:none">"low"</span></i>, maximum: <i><span data-if="hdevelop" style="display:inline">'any'</span><span data-if="c" style="display:none">"any"</span><span data-if="cpp" style="display:none">"any"</span><span data-if="com" style="display:none">"any"</span><span data-if="dotnet" style="display:none">"any"</span><span data-if="python" style="display:none">"any"</span></i>)
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'contrast_tolerance'</span><span data-if="c" style="display:none">"contrast_tolerance"</span><span data-if="cpp" style="display:none">"contrast_tolerance"</span><span data-if="com" style="display:none">"contrast_tolerance"</span><span data-if="dotnet" style="display:none">"contrast_tolerance"</span><span data-if="python" style="display:none">"contrast_tolerance"</span></i>:</b></dt>
<dd>
<p>

Describes the tolerance of the search with respect to local
contrast variations (e.g., in the presence of glare or
reflections). Depending on the value of the parameter
two different algorithms are applied. If
<i><span data-if="hdevelop" style="display:inline">'contrast_tolerance'</span><span data-if="c" style="display:none">"contrast_tolerance"</span><span data-if="cpp" style="display:none">"contrast_tolerance"</span><span data-if="com" style="display:none">"contrast_tolerance"</span><span data-if="dotnet" style="display:none">"contrast_tolerance"</span><span data-if="python" style="display:none">"contrast_tolerance"</span></i> is set to <i><span data-if="hdevelop" style="display:inline">'high'</span><span data-if="c" style="display:none">"high"</span><span data-if="cpp" style="display:none">"high"</span><span data-if="com" style="display:none">"high"</span><span data-if="dotnet" style="display:none">"high"</span><span data-if="python" style="display:none">"high"</span></i> the
robustness in the presence of strong local contrast
variations is improved. In the case where
<i><span data-if="hdevelop" style="display:inline">'contrast_tolerance'</span><span data-if="c" style="display:none">"contrast_tolerance"</span><span data-if="cpp" style="display:none">"contrast_tolerance"</span><span data-if="com" style="display:none">"contrast_tolerance"</span><span data-if="dotnet" style="display:none">"contrast_tolerance"</span><span data-if="python" style="display:none">"contrast_tolerance"</span></i> is set to <i><span data-if="hdevelop" style="display:inline">'low'</span><span data-if="c" style="display:none">"low"</span><span data-if="cpp" style="display:none">"low"</span><span data-if="com" style="display:none">"low"</span><span data-if="dotnet" style="display:none">"low"</span><span data-if="python" style="display:none">"low"</span></i> the
algorithm less robust in case of strong local contrast
variations, however it is faster and still able to handle
contrast variations under normal circumstances and
therefore should be used in most cases. If
<i><span data-if="hdevelop" style="display:inline">'contrast_tolerance'</span><span data-if="c" style="display:none">"contrast_tolerance"</span><span data-if="cpp" style="display:none">"contrast_tolerance"</span><span data-if="com" style="display:none">"contrast_tolerance"</span><span data-if="dotnet" style="display:none">"contrast_tolerance"</span><span data-if="python" style="display:none">"contrast_tolerance"</span></i> is set to <i><span data-if="hdevelop" style="display:inline">'any'</span><span data-if="c" style="display:none">"any"</span><span data-if="cpp" style="display:none">"any"</span><span data-if="com" style="display:none">"any"</span><span data-if="dotnet" style="display:none">"any"</span><span data-if="python" style="display:none">"any"</span></i> both
algorithms are applied.</p>
<p>
<i>Values:</i> <i><span data-if="hdevelop" style="display:inline">'low'</span><span data-if="c" style="display:none">"low"</span><span data-if="cpp" style="display:none">"low"</span><span data-if="com" style="display:none">"low"</span><span data-if="dotnet" style="display:none">"low"</span><span data-if="python" style="display:none">"low"</span></i>, <i><span data-if="hdevelop" style="display:inline">'high'</span><span data-if="c" style="display:none">"high"</span><span data-if="cpp" style="display:none">"high"</span><span data-if="com" style="display:none">"high"</span><span data-if="dotnet" style="display:none">"high"</span><span data-if="python" style="display:none">"high"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'any'</span><span data-if="c" style="display:none">"any"</span><span data-if="cpp" style="display:none">"any"</span><span data-if="com" style="display:none">"any"</span><span data-if="dotnet" style="display:none">"any"</span><span data-if="python" style="display:none">"any"</span></i></p>
<p>
<i>Default:</i> <i><span data-if="hdevelop" style="display:inline">'low'</span><span data-if="c" style="display:none">"low"</span><span data-if="cpp" style="display:none">"low"</span><span data-if="com" style="display:none">"low"</span><span data-if="dotnet" style="display:none">"low"</span><span data-if="python" style="display:none">"low"</span></i> (enhanced: <i><span data-if="hdevelop" style="display:inline">'low'</span><span data-if="c" style="display:none">"low"</span><span data-if="cpp" style="display:none">"low"</span><span data-if="com" style="display:none">"low"</span><span data-if="dotnet" style="display:none">"low"</span><span data-if="python" style="display:none">"low"</span></i>,
maximum: <i><span data-if="hdevelop" style="display:inline">'any'</span><span data-if="c" style="display:none">"any"</span><span data-if="cpp" style="display:none">"any"</span><span data-if="com" style="display:none">"any"</span><span data-if="dotnet" style="display:none">"any"</span><span data-if="python" style="display:none">"any"</span></i>)
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'module_grid'</span><span data-if="c" style="display:none">"module_grid"</span><span data-if="cpp" style="display:none">"module_grid"</span><span data-if="com" style="display:none">"module_grid"</span><span data-if="dotnet" style="display:none">"module_grid"</span><span data-if="python" style="display:none">"module_grid"</span></i>:</b></dt>
<dd>
<p>

Describes whether the size of the modules may vary (in a
specific range) or not.  Dependent on this parameter
different algorithms are used for calculating the module's
center positions.  If it is set to <i><span data-if="hdevelop" style="display:inline">'fixed'</span><span data-if="c" style="display:none">"fixed"</span><span data-if="cpp" style="display:none">"fixed"</span><span data-if="com" style="display:none">"fixed"</span><span data-if="dotnet" style="display:none">"fixed"</span><span data-if="python" style="display:none">"fixed"</span></i>, an
equidistant grid is used.  Allowing a variable module size
(<i><span data-if="hdevelop" style="display:inline">'variable'</span><span data-if="c" style="display:none">"variable"</span><span data-if="cpp" style="display:none">"variable"</span><span data-if="com" style="display:none">"variable"</span><span data-if="dotnet" style="display:none">"variable"</span><span data-if="python" style="display:none">"variable"</span></i>), the grid is aligned only to the
alternating side of the finder pattern.  With
<i><span data-if="hdevelop" style="display:inline">'any'</span><span data-if="c" style="display:none">"any"</span><span data-if="cpp" style="display:none">"any"</span><span data-if="com" style="display:none">"any"</span><span data-if="dotnet" style="display:none">"any"</span><span data-if="python" style="display:none">"any"</span></i> both approaches are tested one after the
other. Please note that the value of <i><span data-if="hdevelop" style="display:inline">'module_grid'</span><span data-if="c" style="display:none">"module_grid"</span><span data-if="cpp" style="display:none">"module_grid"</span><span data-if="com" style="display:none">"module_grid"</span><span data-if="dotnet" style="display:none">"module_grid"</span><span data-if="python" style="display:none">"module_grid"</span></i>
is ignored if <i><span data-if="hdevelop" style="display:inline">'finder_pattern_tolerance'</span><span data-if="c" style="display:none">"finder_pattern_tolerance"</span><span data-if="cpp" style="display:none">"finder_pattern_tolerance"</span><span data-if="com" style="display:none">"finder_pattern_tolerance"</span><span data-if="dotnet" style="display:none">"finder_pattern_tolerance"</span><span data-if="python" style="display:none">"finder_pattern_tolerance"</span></i> is set to
<i><span data-if="hdevelop" style="display:inline">'high'</span><span data-if="c" style="display:none">"high"</span><span data-if="cpp" style="display:none">"high"</span><span data-if="com" style="display:none">"high"</span><span data-if="dotnet" style="display:none">"high"</span><span data-if="python" style="display:none">"high"</span></i>. In this case an equidistant grid is
assumed.</p>
<p>
<i>Values:</i> <i><span data-if="hdevelop" style="display:inline">'fixed'</span><span data-if="c" style="display:none">"fixed"</span><span data-if="cpp" style="display:none">"fixed"</span><span data-if="com" style="display:none">"fixed"</span><span data-if="dotnet" style="display:none">"fixed"</span><span data-if="python" style="display:none">"fixed"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'variable'</span><span data-if="c" style="display:none">"variable"</span><span data-if="cpp" style="display:none">"variable"</span><span data-if="com" style="display:none">"variable"</span><span data-if="dotnet" style="display:none">"variable"</span><span data-if="python" style="display:none">"variable"</span></i>, <i><span data-if="hdevelop" style="display:inline">'any'</span><span data-if="c" style="display:none">"any"</span><span data-if="cpp" style="display:none">"any"</span><span data-if="com" style="display:none">"any"</span><span data-if="dotnet" style="display:none">"any"</span><span data-if="python" style="display:none">"any"</span></i></p>
<p> <i>Default:</i>
<i><span data-if="hdevelop" style="display:inline">'fixed'</span><span data-if="c" style="display:none">"fixed"</span><span data-if="cpp" style="display:none">"fixed"</span><span data-if="com" style="display:none">"fixed"</span><span data-if="dotnet" style="display:none">"fixed"</span><span data-if="python" style="display:none">"fixed"</span></i> (enhanced: <i><span data-if="hdevelop" style="display:inline">'any'</span><span data-if="c" style="display:none">"any"</span><span data-if="cpp" style="display:none">"any"</span><span data-if="com" style="display:none">"any"</span><span data-if="dotnet" style="display:none">"any"</span><span data-if="python" style="display:none">"any"</span></i>)
</p>
</dd>
</dl>

</li>
<li>
<p> QR Code:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'position_pattern_min'</span><span data-if="c" style="display:none">"position_pattern_min"</span><span data-if="cpp" style="display:none">"position_pattern_min"</span><span data-if="com" style="display:none">"position_pattern_min"</span><span data-if="dotnet" style="display:none">"position_pattern_min"</span><span data-if="python" style="display:none">"position_pattern_min"</span></i>:</b></dt>
<dd>
<p>

Number of position detection patterns that have to be visible
for generating a new symbol candidate.</p>
<p>
<i>Value range:</i> [<i>2</i>, <i>3</i>]</p>
<p>
<i>Default:</i> <i>3</i> (enhanced: <i>2</i>)
</p>
</dd>
</dl>

</li>
<li>
<p> Aztec Code:
</p>
<dl class="generic">

<dt><b><i><span data-if="hdevelop" style="display:inline">'finder_pattern_tolerance'</span><span data-if="c" style="display:none">"finder_pattern_tolerance"</span><span data-if="cpp" style="display:none">"finder_pattern_tolerance"</span><span data-if="com" style="display:none">"finder_pattern_tolerance"</span><span data-if="dotnet" style="display:none">"finder_pattern_tolerance"</span><span data-if="python" style="display:none">"finder_pattern_tolerance"</span></i>:</b></dt>
<dd>
<p>

Tolerance of the search with respect to a defect or partially
occluded finder pattern. Depending on this parameter, different
algorithms are used during the symbol search in
<a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a>.  In one case (<i><span data-if="hdevelop" style="display:inline">'low'</span><span data-if="c" style="display:none">"low"</span><span data-if="cpp" style="display:none">"low"</span><span data-if="com" style="display:none">"low"</span><span data-if="dotnet" style="display:none">"low"</span><span data-if="python" style="display:none">"low"</span></i>), it is
assumed that all rings of the finder pattern can be extracted. In
the other case (<i><span data-if="hdevelop" style="display:inline">'high'</span><span data-if="c" style="display:none">"high"</span><span data-if="cpp" style="display:none">"high"</span><span data-if="com" style="display:none">"high"</span><span data-if="dotnet" style="display:none">"high"</span><span data-if="python" style="display:none">"high"</span></i>) it is assumed that at least one of
the rings of the finder pattern can be extracted.
As a consequence the runtime of the reader increases, if this
parameter is set to <i><span data-if="hdevelop" style="display:inline">'high'</span><span data-if="c" style="display:none">"high"</span><span data-if="cpp" style="display:none">"high"</span><span data-if="com" style="display:none">"high"</span><span data-if="dotnet" style="display:none">"high"</span><span data-if="python" style="display:none">"high"</span></i>.</p>
<p>
<i>Values:</i> <i><span data-if="hdevelop" style="display:inline">'low'</span><span data-if="c" style="display:none">"low"</span><span data-if="cpp" style="display:none">"low"</span><span data-if="com" style="display:none">"low"</span><span data-if="dotnet" style="display:none">"low"</span><span data-if="python" style="display:none">"low"</span></i>, <i><span data-if="hdevelop" style="display:inline">'high'</span><span data-if="c" style="display:none">"high"</span><span data-if="cpp" style="display:none">"high"</span><span data-if="com" style="display:none">"high"</span><span data-if="dotnet" style="display:none">"high"</span><span data-if="python" style="display:none">"high"</span></i></p>
<p>
<i>Default:</i> <i><span data-if="hdevelop" style="display:inline">'low'</span><span data-if="c" style="display:none">"low"</span><span data-if="cpp" style="display:none">"low"</span><span data-if="com" style="display:none">"low"</span><span data-if="dotnet" style="display:none">"low"</span><span data-if="python" style="display:none">"low"</span></i> (enhanced: <i><span data-if="hdevelop" style="display:inline">'high'</span><span data-if="c" style="display:none">"high"</span><span data-if="cpp" style="display:none">"high"</span><span data-if="com" style="display:none">"high"</span><span data-if="dotnet" style="display:none">"high"</span><span data-if="python" style="display:none">"high"</span></i>)
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'additional_levels'</span><span data-if="c" style="display:none">"additional_levels"</span><span data-if="cpp" style="display:none">"additional_levels"</span><span data-if="com" style="display:none">"additional_levels"</span><span data-if="dotnet" style="display:none">"additional_levels"</span><span data-if="python" style="display:none">"additional_levels"</span></i>:</b></dt>
<dd>
<p>

To increase the robustness of the Aztec Code reader, a number of
additional search levels (in addition to the search levels derived
from the minimum and maximum module dimensions) can be specified via
this parameter. Be aware that this increases the runtime of the
reader, especially if no code is found.</p>
<p>
<i>Value range:</i> [<i>0</i> .. <i>2</i>]</p>
<p>
<i>Default:</i> <i>0</i>
</p>
</dd>
</dl>

</li>
</ul>
<p><b>General model behavior:</b>
</p>
<ul>

<li>
<p> All data code types:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'persistence'</span><span data-if="c" style="display:none">"persistence"</span><span data-if="cpp" style="display:none">"persistence"</span><span data-if="com" style="display:none">"persistence"</span><span data-if="dotnet" style="display:none">"persistence"</span><span data-if="python" style="display:none">"persistence"</span></i>:</b></dt>
<dd>
<p>

Controls whether certain intermediate results of the symbol
search with <a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a> are stored
temporarily or persistently in the model.
The memory requirements of <a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a> are
significantly smaller if the data is stored temporarily
(default).
On the other hand, by using the persistent storage it is
possible to access some of the data for debugging reasons
after searching for symbols, e.g., to investigate why a
symbol could not be read.
The memory requirements of <a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a> can further
be reduced by setting <i><span data-if="hdevelop" style="display:inline">'persistence'</span><span data-if="c" style="display:none">"persistence"</span><span data-if="cpp" style="display:none">"persistence"</span><span data-if="com" style="display:none">"persistence"</span><span data-if="dotnet" style="display:none">"persistence"</span><span data-if="python" style="display:none">"persistence"</span></i> to <i>-1</i> such
that only the data necessary for retrieving the decoded data is
stored with the model. Be aware that print quality inspection
can only be performed for Data Matrix ECC 200 symbols with this
setting of <i><span data-if="hdevelop" style="display:inline">'persistence'</span><span data-if="c" style="display:none">"persistence"</span><span data-if="cpp" style="display:none">"persistence"</span><span data-if="com" style="display:none">"persistence"</span><span data-if="dotnet" style="display:none">"persistence"</span><span data-if="python" style="display:none">"persistence"</span></i>.</p>
<p>
<i>Values:</i> <i>-1</i> (only decoded data),
<i>0</i> (temporary), <i>1</i> (persistent)</p>
<p>
<i>Default:</i> <i>0</i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'discard_undecoded_candidates'</span><span data-if="c" style="display:none">"discard_undecoded_candidates"</span><span data-if="cpp" style="display:none">"discard_undecoded_candidates"</span><span data-if="com" style="display:none">"discard_undecoded_candidates"</span><span data-if="dotnet" style="display:none">"discard_undecoded_candidates"</span><span data-if="python" style="display:none">"discard_undecoded_candidates"</span></i></b></dt>
<dd>
<p>

Controls whether candidates that could not be successfully decoded
are stored in the model.
Set this parameter to <i><span data-if="hdevelop" style="display:inline">'yes'</span><span data-if="c" style="display:none">"yes"</span><span data-if="cpp" style="display:none">"yes"</span><span data-if="com" style="display:none">"yes"</span><span data-if="dotnet" style="display:none">"yes"</span><span data-if="python" style="display:none">"yes"</span></i> to reduce the amount of
memory consumed by the model. Note that in this case
information about undecoded candidates cannot be queried by
using <a href="get_data_code_2d_objects.html"><code><span data-if="hdevelop" style="display:inline">get_data_code_2d_objects</span><span data-if="c" style="display:none">get_data_code_2d_objects</span><span data-if="cpp" style="display:none">GetDataCode2dObjects</span><span data-if="com" style="display:none">GetDataCode2dObjects</span><span data-if="dotnet" style="display:none">GetDataCode2dObjects</span><span data-if="python" style="display:none">get_data_code_2d_objects</span></code></a> or
<a href="get_data_code_2d_results.html"><code><span data-if="hdevelop" style="display:inline">get_data_code_2d_results</span><span data-if="c" style="display:none">get_data_code_2d_results</span><span data-if="cpp" style="display:none">GetDataCode2dResults</span><span data-if="com" style="display:none">GetDataCode2dResults</span><span data-if="dotnet" style="display:none">GetDataCode2dResults</span><span data-if="python" style="display:none">get_data_code_2d_results</span></code></a>.</p>
<p>
<i>Values:</i> <i><span data-if="hdevelop" style="display:inline">'yes'</span><span data-if="c" style="display:none">"yes"</span><span data-if="cpp" style="display:none">"yes"</span><span data-if="com" style="display:none">"yes"</span><span data-if="dotnet" style="display:none">"yes"</span><span data-if="python" style="display:none">"yes"</span></i>, <i><span data-if="hdevelop" style="display:inline">'no'</span><span data-if="c" style="display:none">"no"</span><span data-if="cpp" style="display:none">"no"</span><span data-if="com" style="display:none">"no"</span><span data-if="dotnet" style="display:none">"no"</span><span data-if="python" style="display:none">"no"</span></i></p>
<p>
<i>Default:</i> <i><span data-if="hdevelop" style="display:inline">'no'</span><span data-if="c" style="display:none">"no"</span><span data-if="cpp" style="display:none">"no"</span><span data-if="com" style="display:none">"no"</span><span data-if="dotnet" style="display:none">"no"</span><span data-if="python" style="display:none">"no"</span></i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'strict_model'</span><span data-if="c" style="display:none">"strict_model"</span><span data-if="cpp" style="display:none">"strict_model"</span><span data-if="com" style="display:none">"strict_model"</span><span data-if="dotnet" style="display:none">"strict_model"</span><span data-if="python" style="display:none">"strict_model"</span></i>:</b></dt>
<dd>
<p>

Controls the behavior of <a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a> while
detecting symbols that could be read but that do not fit
the model restrictions on the size of the symbols.
They can be rejected (strict model, set to <i><span data-if="hdevelop" style="display:inline">'yes'</span><span data-if="c" style="display:none">"yes"</span><span data-if="cpp" style="display:none">"yes"</span><span data-if="com" style="display:none">"yes"</span><span data-if="dotnet" style="display:none">"yes"</span><span data-if="python" style="display:none">"yes"</span></i>) or
returned as a result independent of their size and the
size specified in the model (lax model, set to
<i><span data-if="hdevelop" style="display:inline">'no'</span><span data-if="c" style="display:none">"no"</span><span data-if="cpp" style="display:none">"no"</span><span data-if="com" style="display:none">"no"</span><span data-if="dotnet" style="display:none">"no"</span><span data-if="python" style="display:none">"no"</span></i>). Please note that for DotCode symbols the module
size restrictions (<i><span data-if="hdevelop" style="display:inline">'module_size_min'</span><span data-if="c" style="display:none">"module_size_min"</span><span data-if="cpp" style="display:none">"module_size_min"</span><span data-if="com" style="display:none">"module_size_min"</span><span data-if="dotnet" style="display:none">"module_size_min"</span><span data-if="python" style="display:none">"module_size_min"</span></i> and
<i><span data-if="hdevelop" style="display:inline">'module_size_max'</span><span data-if="c" style="display:none">"module_size_max"</span><span data-if="cpp" style="display:none">"module_size_max"</span><span data-if="com" style="display:none">"module_size_max"</span><span data-if="dotnet" style="display:none">"module_size_max"</span><span data-if="python" style="display:none">"module_size_max"</span></i>) are not checked even if
<i><span data-if="hdevelop" style="display:inline">'strict_model'</span><span data-if="c" style="display:none">"strict_model"</span><span data-if="cpp" style="display:none">"strict_model"</span><span data-if="com" style="display:none">"strict_model"</span><span data-if="dotnet" style="display:none">"strict_model"</span><span data-if="python" style="display:none">"strict_model"</span></i> is set to <i><span data-if="hdevelop" style="display:inline">'yes'</span><span data-if="c" style="display:none">"yes"</span><span data-if="cpp" style="display:none">"yes"</span><span data-if="com" style="display:none">"yes"</span><span data-if="dotnet" style="display:none">"yes"</span><span data-if="python" style="display:none">"yes"</span></i>.</p>
<p>
<i>Values:</i> <i><span data-if="hdevelop" style="display:inline">'yes'</span><span data-if="c" style="display:none">"yes"</span><span data-if="cpp" style="display:none">"yes"</span><span data-if="com" style="display:none">"yes"</span><span data-if="dotnet" style="display:none">"yes"</span><span data-if="python" style="display:none">"yes"</span></i> (strict),
<i><span data-if="hdevelop" style="display:inline">'no'</span><span data-if="c" style="display:none">"no"</span><span data-if="cpp" style="display:none">"no"</span><span data-if="com" style="display:none">"no"</span><span data-if="dotnet" style="display:none">"no"</span><span data-if="python" style="display:none">"no"</span></i> (not strict)</p>
<p>
<i>Default:</i> <i><span data-if="hdevelop" style="display:inline">'yes'</span><span data-if="c" style="display:none">"yes"</span><span data-if="cpp" style="display:none">"yes"</span><span data-if="com" style="display:none">"yes"</span><span data-if="dotnet" style="display:none">"yes"</span><span data-if="python" style="display:none">"yes"</span></i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'string_encoding'</span><span data-if="c" style="display:none">"string_encoding"</span><span data-if="cpp" style="display:none">"string_encoding"</span><span data-if="com" style="display:none">"string_encoding"</span><span data-if="dotnet" style="display:none">"string_encoding"</span><span data-if="python" style="display:none">"string_encoding"</span></i>:</b></dt>
<dd>
<p>

Sets the expected string encoding of the string that is encoded in
the symbol.
It's possible to switch between UTF-8, Latin-1, and the string encoding of
the current locale. If necessary, the string will be transcoded
accordingly. In raw mode, the string will be passed unchanged.
</p>
<p>
<i>Values:</i> <i><span data-if="hdevelop" style="display:inline">'utf8'</span><span data-if="c" style="display:none">"utf8"</span><span data-if="cpp" style="display:none">"utf8"</span><span data-if="com" style="display:none">"utf8"</span><span data-if="dotnet" style="display:none">"utf8"</span><span data-if="python" style="display:none">"utf8"</span></i>, <i><span data-if="hdevelop" style="display:inline">'locale'</span><span data-if="c" style="display:none">"locale"</span><span data-if="cpp" style="display:none">"locale"</span><span data-if="com" style="display:none">"locale"</span><span data-if="dotnet" style="display:none">"locale"</span><span data-if="python" style="display:none">"locale"</span></i>, <i><span data-if="hdevelop" style="display:inline">'latin1'</span><span data-if="c" style="display:none">"latin1"</span><span data-if="cpp" style="display:none">"latin1"</span><span data-if="com" style="display:none">"latin1"</span><span data-if="dotnet" style="display:none">"latin1"</span><span data-if="python" style="display:none">"latin1"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'raw'</span><span data-if="c" style="display:none">"raw"</span><span data-if="cpp" style="display:none">"raw"</span><span data-if="com" style="display:none">"raw"</span><span data-if="dotnet" style="display:none">"raw"</span><span data-if="python" style="display:none">"raw"</span></i></p>
<p>
<i>Default:</i> <i><span data-if="hdevelop" style="display:inline">'latin1'</span><span data-if="c" style="display:none">"latin1"</span><span data-if="cpp" style="display:none">"latin1"</span><span data-if="com" style="display:none">"latin1"</span><span data-if="dotnet" style="display:none">"latin1"</span><span data-if="python" style="display:none">"latin1"</span></i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'timeout'</span><span data-if="c" style="display:none">"timeout"</span><span data-if="cpp" style="display:none">"timeout"</span><span data-if="com" style="display:none">"timeout"</span><span data-if="dotnet" style="display:none">"timeout"</span><span data-if="python" style="display:none">"timeout"</span></i>:</b></dt>
<dd>
<p>

By the use of this parameter, it is possible to abort
<a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a> after a defined period in
milliseconds. This is especially useful in cases where a
maximum cycle time has to be ensured. All results gained before
the timeout can be accessed by
<a href="get_data_code_2d_results.html"><code><span data-if="hdevelop" style="display:inline">get_data_code_2d_results</span><span data-if="c" style="display:none">get_data_code_2d_results</span><span data-if="cpp" style="display:none">GetDataCode2dResults</span><span data-if="com" style="display:none">GetDataCode2dResults</span><span data-if="dotnet" style="display:none">GetDataCode2dResults</span><span data-if="python" style="display:none">get_data_code_2d_results</span></code></a>. Passing values less or
equal zero implies a deactivation of the timeout (default).</p>
<p>
The temporal accuracy is about 10 ms. It
depends on several factors including the speed of your computer, the
image size and the <i><span data-if="hdevelop" style="display:inline">'timer_mode'</span><span data-if="c" style="display:none">"timer_mode"</span><span data-if="cpp" style="display:none">"timer_mode"</span><span data-if="com" style="display:none">"timer_mode"</span><span data-if="dotnet" style="display:none">"timer_mode"</span><span data-if="python" style="display:none">"timer_mode"</span></i> set via
<a href="set_system.html"><code><span data-if="hdevelop" style="display:inline">set_system</span><span data-if="c" style="display:none">set_system</span><span data-if="cpp" style="display:none">SetSystem</span><span data-if="com" style="display:none">SetSystem</span><span data-if="dotnet" style="display:none">SetSystem</span><span data-if="python" style="display:none">set_system</span></code></a>.</p>
<p>
<a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a> does not raise an exception if a
timeout occurs. To check whether <a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a> has been
interrupted, check the parameter <i><span data-if="hdevelop" style="display:inline">'aborted'</span><span data-if="c" style="display:none">"aborted"</span><span data-if="cpp" style="display:none">"aborted"</span><span data-if="com" style="display:none">"aborted"</span><span data-if="dotnet" style="display:none">"aborted"</span><span data-if="python" style="display:none">"aborted"</span></i> in
<a href="get_data_code_2d_results.html"><code><span data-if="hdevelop" style="display:inline">get_data_code_2d_results</span><span data-if="c" style="display:none">get_data_code_2d_results</span><span data-if="cpp" style="display:none">GetDataCode2dResults</span><span data-if="com" style="display:none">GetDataCode2dResults</span><span data-if="dotnet" style="display:none">GetDataCode2dResults</span><span data-if="python" style="display:none">get_data_code_2d_results</span></code></a>.</p>
<p>
Note that the timeout is ignored if <a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a>
runs in training mode. </p>
<p>
<i>Typical values:</i> <i><span data-if="hdevelop" style="display:inline">'false'</span><span data-if="c" style="display:none">"false"</span><span data-if="cpp" style="display:none">"false"</span><span data-if="com" style="display:none">"false"</span><span data-if="dotnet" style="display:none">"false"</span><span data-if="python" style="display:none">"false"</span></i>, <i>-1</i>,
<i>20</i> .. <i>100</i></p>
<p>
<i>Default:</i> <i><span data-if="hdevelop" style="display:inline">'false'</span><span data-if="c" style="display:none">"false"</span><span data-if="cpp" style="display:none">"false"</span><span data-if="com" style="display:none">"false"</span><span data-if="dotnet" style="display:none">"false"</span><span data-if="python" style="display:none">"false"</span></i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'abort'</span><span data-if="c" style="display:none">"abort"</span><span data-if="cpp" style="display:none">"abort"</span><span data-if="com" style="display:none">"abort"</span><span data-if="dotnet" style="display:none">"abort"</span><span data-if="python" style="display:none">"abort"</span></i>:</b></dt>
<dd>
<p>

Using this option, it is possible to abort <a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a>
from another thread. When <code><span data-if="hdevelop" style="display:inline">set_data_code_2d_param</span><span data-if="c" style="display:none">set_data_code_2d_param</span><span data-if="cpp" style="display:none">SetDataCode2dParam</span><span data-if="com" style="display:none">SetDataCode2dParam</span><span data-if="dotnet" style="display:none">SetDataCode2dParam</span><span data-if="python" style="display:none">set_data_code_2d_param</span></code> is called
with <i><span data-if="hdevelop" style="display:inline">'abort'</span><span data-if="c" style="display:none">"abort"</span><span data-if="cpp" style="display:none">"abort"</span><span data-if="com" style="display:none">"abort"</span><span data-if="dotnet" style="display:none">"abort"</span><span data-if="python" style="display:none">"abort"</span></i>, an instance of <a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a> with
the model <a href="#DataCodeHandle"><i><code><span data-if="hdevelop" style="display:inline">DataCodeHandle</span><span data-if="c" style="display:none">DataCodeHandle</span><span data-if="cpp" style="display:none">DataCodeHandle</span><span data-if="com" style="display:none">DataCodeHandle</span><span data-if="dotnet" style="display:none">dataCodeHandle</span><span data-if="python" style="display:none">data_code_handle</span></code></i></a> running in another thread is
requested to abort. If there is no <a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a> running
with this model, nothing happens.</p>
<p>
该算子 <a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a> might not return immediately.
It has to reach a cancellation point to ensure a proper cleanup.
Depending on different factors like the computer performance this
may take up to 10 ms. </p>
<p>
All decoded results until this moment, are still returned. Note that
the parameter is ignored if <a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a> runs in
training mode. </p>
<p>
Note: This is the only action with a data code handle, which can be
used from different threads without requiring additional
synchronization. </p>
<p>
<i>Default:</i> <i><span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span></i> (The value is not processed.)
</p>
</dd>
</dl>

</li>
<li>
<p> All data code types except Aztec Code:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'strict_quiet_zone'</span><span data-if="c" style="display:none">"strict_quiet_zone"</span><span data-if="cpp" style="display:none">"strict_quiet_zone"</span><span data-if="com" style="display:none">"strict_quiet_zone"</span><span data-if="dotnet" style="display:none">"strict_quiet_zone"</span><span data-if="python" style="display:none">"strict_quiet_zone"</span></i>:</b></dt>
<dd>
<p>

Controls the behavior of <a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a> while
detecting symbols that could be read but show defects in
their quiet zone. If <i><span data-if="hdevelop" style="display:inline">'strict_quiet_zone'</span><span data-if="c" style="display:none">"strict_quiet_zone"</span><span data-if="cpp" style="display:none">"strict_quiet_zone"</span><span data-if="com" style="display:none">"strict_quiet_zone"</span><span data-if="dotnet" style="display:none">"strict_quiet_zone"</span><span data-if="python" style="display:none">"strict_quiet_zone"</span></i> is set to
<i><span data-if="hdevelop" style="display:inline">'yes'</span><span data-if="c" style="display:none">"yes"</span><span data-if="cpp" style="display:none">"yes"</span><span data-if="com" style="display:none">"yes"</span><span data-if="dotnet" style="display:none">"yes"</span><span data-if="python" style="display:none">"yes"</span></i> the quiet zone of all decoded symbol is validated
similar to the method used for print quality inspection.
Symbols with poor grades for their quiet zone are not returned
as a result. Their <i><span data-if="hdevelop" style="display:inline">'status'</span><span data-if="c" style="display:none">"status"</span><span data-if="cpp" style="display:none">"status"</span><span data-if="com" style="display:none">"status"</span><span data-if="dotnet" style="display:none">"status"</span><span data-if="python" style="display:none">"status"</span></i> is set to
<i><span data-if="hdevelop" style="display:inline">'quiet zone is missing'</span><span data-if="c" style="display:none">"quiet zone is missing"</span><span data-if="cpp" style="display:none">"quiet zone is missing"</span><span data-if="com" style="display:none">"quiet zone is missing"</span><span data-if="dotnet" style="display:none">"quiet zone is missing"</span><span data-if="python" style="display:none">"quiet zone is missing"</span></i>.
If <i><span data-if="hdevelop" style="display:inline">'strict_quiet_zone'</span><span data-if="c" style="display:none">"strict_quiet_zone"</span><span data-if="cpp" style="display:none">"strict_quiet_zone"</span><span data-if="com" style="display:none">"strict_quiet_zone"</span><span data-if="dotnet" style="display:none">"strict_quiet_zone"</span><span data-if="python" style="display:none">"strict_quiet_zone"</span></i> is set to <i><span data-if="hdevelop" style="display:inline">'no'</span><span data-if="c" style="display:none">"no"</span><span data-if="cpp" style="display:none">"no"</span><span data-if="com" style="display:none">"no"</span><span data-if="dotnet" style="display:none">"no"</span><span data-if="python" style="display:none">"no"</span></i>
(this is the default case), all readable symbols are
returned as a result.</p>
<p>
<i>Values:</i> <i><span data-if="hdevelop" style="display:inline">'yes'</span><span data-if="c" style="display:none">"yes"</span><span data-if="cpp" style="display:none">"yes"</span><span data-if="com" style="display:none">"yes"</span><span data-if="dotnet" style="display:none">"yes"</span><span data-if="python" style="display:none">"yes"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'no'</span><span data-if="c" style="display:none">"no"</span><span data-if="cpp" style="display:none">"no"</span><span data-if="com" style="display:none">"no"</span><span data-if="dotnet" style="display:none">"no"</span><span data-if="python" style="display:none">"no"</span></i></p>
<p>
<i>Default:</i> <i><span data-if="hdevelop" style="display:inline">'no'</span><span data-if="c" style="display:none">"no"</span><span data-if="cpp" style="display:none">"no"</span><span data-if="com" style="display:none">"no"</span><span data-if="dotnet" style="display:none">"no"</span><span data-if="python" style="display:none">"no"</span></i>
</p>
</dd>
</dl>

</li>
<li>
<p> All data code types except DotCode:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415_aperture_size'</span><span data-if="c" style="display:none">"quality_isoiec15415_aperture_size"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_aperture_size"</span><span data-if="com" style="display:none">"quality_isoiec15415_aperture_size"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_aperture_size"</span><span data-if="python" style="display:none">"quality_isoiec15415_aperture_size"</span></i>:</b></dt>
<dd>
<p>

The reference image, on which the quality grades Symbol
Contrast, Modulation, Reflectance Margin, and Fixed Pattern Damage
are assessed, is obtained by applying a synthetic aperture
(circular mean filter) on the original image. This parameter
determines the filter size as the part of the module size. According
to the standard, this value should be chosen between 0.5 and 0.8
depending on the application. </p>
<p>
For further guidance on selecting the aperture, see ISO/IEC
15415:2011 Annex D.2. </p>
<p>
<i>Value range:</i> [<i>0</i> .. <i>1</i>] </p>
<p>
<i>Default:</i> <i>0.8</i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415_reflectance_reference'</span><span data-if="c" style="display:none">"quality_isoiec15415_reflectance_reference"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_reflectance_reference"</span><span data-if="com" style="display:none">"quality_isoiec15415_reflectance_reference"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_reflectance_reference"</span><span data-if="python" style="display:none">"quality_isoiec15415_reflectance_reference"</span></i>:</b></dt>
<dd>
<p>

The contrast used to assess the quality grade Symbol Contrast is
normalized with a reference grayvalue for reflectance.
This value can be obtained with barium sulphate or magnesium oxide
samples, i.a., see ISO/IEC 15415:2011 section 7.3.
<i>Value range:</i> [<i>1</i> .. <i>255</i>] </p>
<p>
<i>Default:</i> <i>255</i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415_smallest_module_size'</span><span data-if="c" style="display:none">"quality_isoiec15415_smallest_module_size"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_smallest_module_size"</span><span data-if="com" style="display:none">"quality_isoiec15415_smallest_module_size"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_smallest_module_size"</span><span data-if="python" style="display:none">"quality_isoiec15415_smallest_module_size"</span></i>:</b></dt>
<dd>
<p>

The module size used to determine the size of the synthetic aperture.
This can either be a fixed value in pixel or <i><span data-if="hdevelop" style="display:inline">'adaptive'</span><span data-if="c" style="display:none">"adaptive"</span><span data-if="cpp" style="display:none">"adaptive"</span><span data-if="com" style="display:none">"adaptive"</span><span data-if="dotnet" style="display:none">"adaptive"</span><span data-if="python" style="display:none">"adaptive"</span></i>. In
the later case, the module size obtained by the preceding
<a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a> is used.
The final diameter of the filter is given by multiplying
<i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415_aperture_size'</span><span data-if="c" style="display:none">"quality_isoiec15415_aperture_size"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_aperture_size"</span><span data-if="com" style="display:none">"quality_isoiec15415_aperture_size"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_aperture_size"</span><span data-if="python" style="display:none">"quality_isoiec15415_aperture_size"</span></i> with this size.
See ISO/IEC 15415:2011 section 7.3.3.
<i>Value range:</i> &gt;= <i>0</i> </p>
<p>
<i>Default:</i> <i><span data-if="hdevelop" style="display:inline">'adaptive'</span><span data-if="c" style="display:none">"adaptive"</span><span data-if="cpp" style="display:none">"adaptive"</span><span data-if="com" style="display:none">"adaptive"</span><span data-if="dotnet" style="display:none">"adaptive"</span><span data-if="python" style="display:none">"adaptive"</span></i>
</p>
</dd>
</dl>

</li>
<li>
<p> Data Matrix ECC 200:
</p>
<dl class="generic">

<dt><b><i><span data-if="hdevelop" style="display:inline">'quality_isoiec15415_decode_algorithm'</span><span data-if="c" style="display:none">"quality_isoiec15415_decode_algorithm"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_decode_algorithm"</span><span data-if="com" style="display:none">"quality_isoiec15415_decode_algorithm"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_decode_algorithm"</span><span data-if="python" style="display:none">"quality_isoiec15415_decode_algorithm"</span></i>:</b></dt>
<dd>
<p>

The computation of the quality grades is based on the module grid
determined for print quality grading. Use this parameter to
choose the algorithm used to obtain this grid.
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'robust'</span><span data-if="c" style="display:none">"robust"</span><span data-if="cpp" style="display:none">"robust"</span><span data-if="com" style="display:none">"robust"</span><span data-if="dotnet" style="display:none">"robust"</span><span data-if="python" style="display:none">"robust"</span></i>:</b></dt>
<dd>
<p>
 Recommended for process control matters in which no
calibrated camera and lighting setup based on ISO/IEC 15415:2011 is
provided. The returned quality grades as well as the calculation of the
grading parameters is in compliance with the international standard
ISO/IEC 15415:2011. To compensate for variances caused by the
flexibility in hardware setups additional information gathered during
decoding of the code as well as assumptions regarding the hardware
setups are used to increase the robustness of the quality inspection.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'reference'</span><span data-if="c" style="display:none">"reference"</span><span data-if="cpp" style="display:none">"reference"</span><span data-if="com" style="display:none">"reference"</span><span data-if="dotnet" style="display:none">"reference"</span><span data-if="python" style="display:none">"reference"</span></i>:</b></dt>
<dd>
<p>
 Recommended for verification of print quality.
In compliance with the international standard ISO/IEC 15415:2011 the
verification requires a specific camera calibration as well as lighting
setup to return standard compliant grading results.
In contrast to the standard, we explicitly apply a lower bound of 20%
for the relative aperture factor during the computation of the constants
<span title="3" style="vertical-align:-0.210518em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="2.95863em" height="0.934914em" viewBox="0 0 47.338089 14.958618">
<!-- Original BoundingBox: -23.669052 -7.479309 23.669037 7.479309 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_100">
      <path style="fill-rule: evenodd;" d="M516.000000 -683.000000C516.000000 -684.000000,516.000000 -694.000000,503.000000 -694.000000C488.000000 -694.000000,393.000000 -685.000000,376.000000 -683.000000C368.000000 -682.000000,362.000000 -677.000000,362.000000 -664.000000C362.000000 -652.000000,371.000000 -652.000000,386.000000 -652.000000C434.000000 -652.000000,436.000000 -645.000000,436.000000 -635.000000L433.000000 -615.000000L373.000000 -378.000000C355.000000 -415.000000,326.000000 -442.000000,281.000000 -442.000000C164.000000 -442.000000,40.000000 -295.000000,40.000000 -149.000000C40.000000 -55.000000,95.000000 11.000000,173.000000 11.000000C193.000000 11.000000,243.000000 7.000000,303.000000 -64.000000C311.000000 -22.000000,346.000000 11.000000,394.000000 11.000000C429.000000 11.000000,452.000000 -12.000000,468.000000 -44.000000C485.000000 -80.000000,498.000000 -141.000000,498.000000 -143.000000C498.000000 -153.000000,489.000000 -153.000000,486.000000 -153.000000C476.000000 -153.000000,475.000000 -149.000000,472.000000 -135.000000C455.000000 -70.000000,437.000000 -11.000000,396.000000 -11.000000C369.000000 -11.000000,366.000000 -37.000000,366.000000 -57.000000C366.000000 -81.000000,368.000000 -88.000000,372.000000 -105.000000M308.000000 -119.000000C303.000000 -101.000000,303.000000 -99.000000,288.000000 -82.000000C244.000000 -27.000000,203.000000 -11.000000,175.000000 -11.000000C125.000000 -11.000000,111.000000 -66.000000,111.000000 -105.000000C111.000000 -155.000000,143.000000 -278.000000,166.000000 -324.000000C197.000000 -383.000000,242.000000 -420.000000,282.000000 -420.000000C347.000000 -420.000000,361.000000 -338.000000,361.000000 -332.000000C361.000000 -326.000000,359.000000 -320.000000,358.000000 -315.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_105">
      <path style="fill-rule: evenodd;" d="M284.000000 -625.000000C284.000000 -645.000000,270.000000 -661.000000,247.000000 -661.000000C220.000000 -661.000000,193.000000 -635.000000,193.000000 -608.000000C193.000000 -589.000000,207.000000 -572.000000,231.000000 -572.000000C254.000000 -572.000000,284.000000 -595.000000,284.000000 -625.000000M208.000000 -249.000000C220.000000 -278.000000,220.000000 -280.000000,230.000000 -307.000000C238.000000 -327.000000,243.000000 -341.000000,243.000000 -360.000000C243.000000 -405.000000,211.000000 -442.000000,161.000000 -442.000000C67.000000 -442.000000,29.000000 -297.000000,29.000000 -288.000000C29.000000 -278.000000,39.000000 -278.000000,41.000000 -278.000000C51.000000 -278.000000,52.000000 -280.000000,57.000000 -296.000000C84.000000 -390.000000,124.000000 -420.000000,158.000000 -420.000000C166.000000 -420.000000,183.000000 -420.000000,183.000000 -388.000000C183.000000 -367.000000,176.000000 -346.000000,172.000000 -336.000000C164.000000 -310.000000,119.000000 -194.000000,103.000000 -151.000000C93.000000 -125.000000,80.000000 -92.000000,80.000000 -71.000000C80.000000 -24.000000,114.000000 11.000000,162.000000 11.000000C256.000000 11.000000,293.000000 -134.000000,293.000000 -143.000000C293.000000 -153.000000,284.000000 -153.000000,281.000000 -153.000000C271.000000 -153.000000,271.000000 -150.000000,266.000000 -135.000000C248.000000 -72.000000,215.000000 -11.000000,164.000000 -11.000000C147.000000 -11.000000,140.000000 -21.000000,140.000000 -44.000000C140.000000 -69.000000,146.000000 -83.000000,169.000000 -144.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_109">
      <path style="fill-rule: evenodd;" d="M88.000000 -59.000000C85.000000 -44.000000,79.000000 -21.000000,79.000000 -16.000000C79.000000 2.000000,93.000000 11.000000,108.000000 11.000000C120.000000 11.000000,138.000000 3.000000,145.000000 -17.000000C146.000000 -19.000000,158.000000 -66.000000,164.000000 -91.000000L186.000000 -181.000000C192.000000 -203.000000,198.000000 -225.000000,203.000000 -248.000000C207.000000 -265.000000,215.000000 -294.000000,216.000000 -298.000000C231.000000 -329.000000,284.000000 -420.000000,379.000000 -420.000000C424.000000 -420.000000,433.000000 -383.000000,433.000000 -350.000000C433.000000 -325.000000,426.000000 -297.000000,418.000000 -267.000000L390.000000 -151.000000L370.000000 -75.000000C366.000000 -55.000000,357.000000 -21.000000,357.000000 -16.000000C357.000000 2.000000,371.000000 11.000000,386.000000 11.000000C417.000000 11.000000,423.000000 -14.000000,431.000000 -46.000000C445.000000 -102.000000,482.000000 -248.000000,491.000000 -287.000000C494.000000 -300.000000,547.000000 -420.000000,656.000000 -420.000000C699.000000 -420.000000,710.000000 -386.000000,710.000000 -350.000000C710.000000 -293.000000,668.000000 -179.000000,648.000000 -126.000000C639.000000 -102.000000,635.000000 -91.000000,635.000000 -71.000000C635.000000 -24.000000,670.000000 11.000000,717.000000 11.000000C811.000000 11.000000,848.000000 -135.000000,848.000000 -143.000000C848.000000 -153.000000,839.000000 -153.000000,836.000000 -153.000000C826.000000 -153.000000,826.000000 -150.000000,821.000000 -135.000000C806.000000 -82.000000,774.000000 -11.000000,719.000000 -11.000000C702.000000 -11.000000,695.000000 -21.000000,695.000000 -44.000000C695.000000 -69.000000,704.000000 -93.000000,713.000000 -115.000000C732.000000 -167.000000,774.000000 -278.000000,774.000000 -335.000000C774.000000 -400.000000,734.000000 -442.000000,659.000000 -442.000000C584.000000 -442.000000,533.000000 -398.000000,496.000000 -345.000000C495.000000 -358.000000,492.000000 -392.000000,464.000000 -416.000000C439.000000 -437.000000,407.000000 -442.000000,382.000000 -442.000000C292.000000 -442.000000,243.000000 -378.000000,226.000000 -355.000000C221.000000 -412.000000,179.000000 -442.000000,134.000000 -442.000000C88.000000 -442.000000,69.000000 -403.000000,60.000000 -385.000000C42.000000 -350.000000,29.000000 -291.000000,29.000000 -288.000000C29.000000 -278.000000,39.000000 -278.000000,41.000000 -278.000000C51.000000 -278.000000,52.000000 -279.000000,58.000000 -301.000000C75.000000 -372.000000,95.000000 -420.000000,131.000000 -420.000000C147.000000 -420.000000,162.000000 -412.000000,162.000000 -374.000000C162.000000 -353.000000,159.000000 -342.000000,146.000000 -290.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_110">
      <path style="fill-rule: evenodd;" d="M88.000000 -59.000000C85.000000 -44.000000,79.000000 -21.000000,79.000000 -16.000000C79.000000 2.000000,93.000000 11.000000,108.000000 11.000000C120.000000 11.000000,138.000000 3.000000,145.000000 -17.000000C146.000000 -19.000000,158.000000 -66.000000,164.000000 -91.000000L186.000000 -181.000000C192.000000 -203.000000,198.000000 -225.000000,203.000000 -248.000000C207.000000 -265.000000,215.000000 -294.000000,216.000000 -298.000000C231.000000 -329.000000,284.000000 -420.000000,379.000000 -420.000000C424.000000 -420.000000,433.000000 -383.000000,433.000000 -350.000000C433.000000 -288.000000,384.000000 -160.000000,368.000000 -117.000000C359.000000 -94.000000,358.000000 -82.000000,358.000000 -71.000000C358.000000 -24.000000,393.000000 11.000000,440.000000 11.000000C534.000000 11.000000,571.000000 -135.000000,571.000000 -143.000000C571.000000 -153.000000,562.000000 -153.000000,559.000000 -153.000000C549.000000 -153.000000,549.000000 -150.000000,544.000000 -135.000000C524.000000 -67.000000,491.000000 -11.000000,442.000000 -11.000000C425.000000 -11.000000,418.000000 -21.000000,418.000000 -44.000000C418.000000 -69.000000,427.000000 -93.000000,436.000000 -115.000000C455.000000 -168.000000,497.000000 -278.000000,497.000000 -335.000000C497.000000 -402.000000,454.000000 -442.000000,382.000000 -442.000000C292.000000 -442.000000,243.000000 -378.000000,226.000000 -355.000000C221.000000 -411.000000,180.000000 -442.000000,134.000000 -442.000000C88.000000 -442.000000,69.000000 -403.000000,59.000000 -385.000000C43.000000 -351.000000,29.000000 -292.000000,29.000000 -288.000000C29.000000 -278.000000,39.000000 -278.000000,41.000000 -278.000000C51.000000 -278.000000,52.000000 -279.000000,58.000000 -301.000000C75.000000 -372.000000,95.000000 -420.000000,131.000000 -420.000000C151.000000 -420.000000,162.000000 -407.000000,162.000000 -374.000000C162.000000 -353.000000,159.000000 -342.000000,146.000000 -290.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHptmr8r_95">
      <path style="fill-rule: evenodd;" d="M500.000000 125.000000L500.000000 75.000000L0.000000 75.000000L0.000000 125.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.346939 11.590332)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_100"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,8.643631 11.590332)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_95"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,16.613724 11.590332)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_109"></use>
    <use xlink:href="#GLYPHcmmi10_105" x="8.780266"></use>
    <use xlink:href="#GLYPHcmmi10_110" x="12.225441"></use>
  </g>
</svg></span>, <span title="4" style="vertical-align:-0.193123em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="3.31482em" height="0.900124em" viewBox="0 0 53.037155 14.401978">
<!-- Original BoundingBox: -26.518585 -7.200989 26.518570 7.200989 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_105">
      <path style="fill-rule: evenodd;" d="M284.000000 -625.000000C284.000000 -645.000000,270.000000 -661.000000,247.000000 -661.000000C220.000000 -661.000000,193.000000 -635.000000,193.000000 -608.000000C193.000000 -589.000000,207.000000 -572.000000,231.000000 -572.000000C254.000000 -572.000000,284.000000 -595.000000,284.000000 -625.000000M208.000000 -249.000000C220.000000 -278.000000,220.000000 -280.000000,230.000000 -307.000000C238.000000 -327.000000,243.000000 -341.000000,243.000000 -360.000000C243.000000 -405.000000,211.000000 -442.000000,161.000000 -442.000000C67.000000 -442.000000,29.000000 -297.000000,29.000000 -288.000000C29.000000 -278.000000,39.000000 -278.000000,41.000000 -278.000000C51.000000 -278.000000,52.000000 -280.000000,57.000000 -296.000000C84.000000 -390.000000,124.000000 -420.000000,158.000000 -420.000000C166.000000 -420.000000,183.000000 -420.000000,183.000000 -388.000000C183.000000 -367.000000,176.000000 -346.000000,172.000000 -336.000000C164.000000 -310.000000,119.000000 -194.000000,103.000000 -151.000000C93.000000 -125.000000,80.000000 -92.000000,80.000000 -71.000000C80.000000 -24.000000,114.000000 11.000000,162.000000 11.000000C256.000000 11.000000,293.000000 -134.000000,293.000000 -143.000000C293.000000 -153.000000,284.000000 -153.000000,281.000000 -153.000000C271.000000 -153.000000,271.000000 -150.000000,266.000000 -135.000000C248.000000 -72.000000,215.000000 -11.000000,164.000000 -11.000000C147.000000 -11.000000,140.000000 -21.000000,140.000000 -44.000000C140.000000 -69.000000,146.000000 -83.000000,169.000000 -144.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_109">
      <path style="fill-rule: evenodd;" d="M88.000000 -59.000000C85.000000 -44.000000,79.000000 -21.000000,79.000000 -16.000000C79.000000 2.000000,93.000000 11.000000,108.000000 11.000000C120.000000 11.000000,138.000000 3.000000,145.000000 -17.000000C146.000000 -19.000000,158.000000 -66.000000,164.000000 -91.000000L186.000000 -181.000000C192.000000 -203.000000,198.000000 -225.000000,203.000000 -248.000000C207.000000 -265.000000,215.000000 -294.000000,216.000000 -298.000000C231.000000 -329.000000,284.000000 -420.000000,379.000000 -420.000000C424.000000 -420.000000,433.000000 -383.000000,433.000000 -350.000000C433.000000 -325.000000,426.000000 -297.000000,418.000000 -267.000000L390.000000 -151.000000L370.000000 -75.000000C366.000000 -55.000000,357.000000 -21.000000,357.000000 -16.000000C357.000000 2.000000,371.000000 11.000000,386.000000 11.000000C417.000000 11.000000,423.000000 -14.000000,431.000000 -46.000000C445.000000 -102.000000,482.000000 -248.000000,491.000000 -287.000000C494.000000 -300.000000,547.000000 -420.000000,656.000000 -420.000000C699.000000 -420.000000,710.000000 -386.000000,710.000000 -350.000000C710.000000 -293.000000,668.000000 -179.000000,648.000000 -126.000000C639.000000 -102.000000,635.000000 -91.000000,635.000000 -71.000000C635.000000 -24.000000,670.000000 11.000000,717.000000 11.000000C811.000000 11.000000,848.000000 -135.000000,848.000000 -143.000000C848.000000 -153.000000,839.000000 -153.000000,836.000000 -153.000000C826.000000 -153.000000,826.000000 -150.000000,821.000000 -135.000000C806.000000 -82.000000,774.000000 -11.000000,719.000000 -11.000000C702.000000 -11.000000,695.000000 -21.000000,695.000000 -44.000000C695.000000 -69.000000,704.000000 -93.000000,713.000000 -115.000000C732.000000 -167.000000,774.000000 -278.000000,774.000000 -335.000000C774.000000 -400.000000,734.000000 -442.000000,659.000000 -442.000000C584.000000 -442.000000,533.000000 -398.000000,496.000000 -345.000000C495.000000 -358.000000,492.000000 -392.000000,464.000000 -416.000000C439.000000 -437.000000,407.000000 -442.000000,382.000000 -442.000000C292.000000 -442.000000,243.000000 -378.000000,226.000000 -355.000000C221.000000 -412.000000,179.000000 -442.000000,134.000000 -442.000000C88.000000 -442.000000,69.000000 -403.000000,60.000000 -385.000000C42.000000 -350.000000,29.000000 -291.000000,29.000000 -288.000000C29.000000 -278.000000,39.000000 -278.000000,41.000000 -278.000000C51.000000 -278.000000,52.000000 -279.000000,58.000000 -301.000000C75.000000 -372.000000,95.000000 -420.000000,131.000000 -420.000000C147.000000 -420.000000,162.000000 -412.000000,162.000000 -374.000000C162.000000 -353.000000,159.000000 -342.000000,146.000000 -290.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_110">
      <path style="fill-rule: evenodd;" d="M88.000000 -59.000000C85.000000 -44.000000,79.000000 -21.000000,79.000000 -16.000000C79.000000 2.000000,93.000000 11.000000,108.000000 11.000000C120.000000 11.000000,138.000000 3.000000,145.000000 -17.000000C146.000000 -19.000000,158.000000 -66.000000,164.000000 -91.000000L186.000000 -181.000000C192.000000 -203.000000,198.000000 -225.000000,203.000000 -248.000000C207.000000 -265.000000,215.000000 -294.000000,216.000000 -298.000000C231.000000 -329.000000,284.000000 -420.000000,379.000000 -420.000000C424.000000 -420.000000,433.000000 -383.000000,433.000000 -350.000000C433.000000 -288.000000,384.000000 -160.000000,368.000000 -117.000000C359.000000 -94.000000,358.000000 -82.000000,358.000000 -71.000000C358.000000 -24.000000,393.000000 11.000000,440.000000 11.000000C534.000000 11.000000,571.000000 -135.000000,571.000000 -143.000000C571.000000 -153.000000,562.000000 -153.000000,559.000000 -153.000000C549.000000 -153.000000,549.000000 -150.000000,544.000000 -135.000000C524.000000 -67.000000,491.000000 -11.000000,442.000000 -11.000000C425.000000 -11.000000,418.000000 -21.000000,418.000000 -44.000000C418.000000 -69.000000,427.000000 -93.000000,436.000000 -115.000000C455.000000 -168.000000,497.000000 -278.000000,497.000000 -335.000000C497.000000 -402.000000,454.000000 -442.000000,382.000000 -442.000000C292.000000 -442.000000,243.000000 -378.000000,226.000000 -355.000000C221.000000 -411.000000,180.000000 -442.000000,134.000000 -442.000000C88.000000 -442.000000,69.000000 -403.000000,59.000000 -385.000000C43.000000 -351.000000,29.000000 -292.000000,29.000000 -288.000000C29.000000 -278.000000,39.000000 -278.000000,41.000000 -278.000000C51.000000 -278.000000,52.000000 -279.000000,58.000000 -301.000000C75.000000 -372.000000,95.000000 -420.000000,131.000000 -420.000000C151.000000 -420.000000,162.000000 -407.000000,162.000000 -374.000000C162.000000 -353.000000,159.000000 -342.000000,146.000000 -290.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHptmr8r_95">
      <path style="fill-rule: evenodd;" d="M500.000000 125.000000L500.000000 75.000000L0.000000 75.000000L0.000000 125.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.497406 11.312012)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_109"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,14.493134 11.312012)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_95"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,22.463257 11.312012)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_109"></use>
    <use xlink:href="#GLYPHcmmi10_105" x="8.780266"></use>
    <use xlink:href="#GLYPHcmmi10_110" x="12.225441"></use>
  </g>
</svg></span>, and <span title="5" style="vertical-align:-0.26474em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="3.10581em" height="0.767041em" viewBox="0 0 49.692978 12.272659">
<!-- Original BoundingBox: -24.846497 -6.136337 24.846481 6.136322 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_97">
      <path style="fill-rule: evenodd;" d="M373.000000 -378.000000C355.000000 -415.000000,326.000000 -442.000000,281.000000 -442.000000C164.000000 -442.000000,40.000000 -295.000000,40.000000 -149.000000C40.000000 -55.000000,95.000000 11.000000,173.000000 11.000000C193.000000 11.000000,243.000000 7.000000,303.000000 -64.000000C311.000000 -22.000000,346.000000 11.000000,394.000000 11.000000C429.000000 11.000000,452.000000 -12.000000,468.000000 -44.000000C485.000000 -80.000000,498.000000 -141.000000,498.000000 -143.000000C498.000000 -153.000000,489.000000 -153.000000,486.000000 -153.000000C476.000000 -153.000000,475.000000 -149.000000,472.000000 -135.000000C455.000000 -70.000000,437.000000 -11.000000,396.000000 -11.000000C369.000000 -11.000000,366.000000 -37.000000,366.000000 -57.000000C366.000000 -79.000000,368.000000 -87.000000,379.000000 -131.000000C390.000000 -173.000000,392.000000 -183.000000,401.000000 -221.000000L437.000000 -361.000000C444.000000 -389.000000,444.000000 -391.000000,444.000000 -395.000000C444.000000 -412.000000,432.000000 -422.000000,415.000000 -422.000000C391.000000 -422.000000,376.000000 -400.000000,373.000000 -378.000000M308.000000 -119.000000C303.000000 -101.000000,303.000000 -99.000000,288.000000 -82.000000C244.000000 -27.000000,203.000000 -11.000000,175.000000 -11.000000C125.000000 -11.000000,111.000000 -66.000000,111.000000 -105.000000C111.000000 -155.000000,143.000000 -278.000000,166.000000 -324.000000C197.000000 -383.000000,242.000000 -420.000000,282.000000 -420.000000C347.000000 -420.000000,361.000000 -338.000000,361.000000 -332.000000C361.000000 -326.000000,359.000000 -320.000000,358.000000 -315.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_103">
      <path style="fill-rule: evenodd;" d="M471.000000 -377.000000C472.000000 -383.000000,474.000000 -388.000000,474.000000 -395.000000C474.000000 -412.000000,462.000000 -422.000000,445.000000 -422.000000C435.000000 -422.000000,408.000000 -415.000000,404.000000 -379.000000C386.000000 -416.000000,351.000000 -442.000000,311.000000 -442.000000C197.000000 -442.000000,73.000000 -302.000000,73.000000 -158.000000C73.000000 -59.000000,134.000000 -0.000000,206.000000 -0.000000C265.000000 -0.000000,312.000000 -47.000000,322.000000 -58.000000L323.000000 -57.000000C302.000000 32.000000,290.000000 73.000000,290.000000 75.000000C286.000000 84.000000,252.000000 183.000000,146.000000 183.000000C127.000000 183.000000,94.000000 182.000000,66.000000 173.000000C96.000000 164.000000,107.000000 138.000000,107.000000 121.000000C107.000000 105.000000,96.000000 86.000000,69.000000 86.000000C47.000000 86.000000,15.000000 104.000000,15.000000 144.000000C15.000000 185.000000,52.000000 205.000000,148.000000 205.000000C273.000000 205.000000,345.000000 127.000000,360.000000 67.000000M341.000000 -128.000000C335.000000 -102.000000,312.000000 -77.000000,290.000000 -58.000000C269.000000 -40.000000,238.000000 -22.000000,209.000000 -22.000000C159.000000 -22.000000,144.000000 -74.000000,144.000000 -114.000000C144.000000 -162.000000,173.000000 -280.000000,200.000000 -331.000000C227.000000 -380.000000,270.000000 -420.000000,312.000000 -420.000000C378.000000 -420.000000,392.000000 -339.000000,392.000000 -334.000000C392.000000 -329.000000,390.000000 -323.000000,389.000000 -319.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_109">
      <path style="fill-rule: evenodd;" d="M88.000000 -59.000000C85.000000 -44.000000,79.000000 -21.000000,79.000000 -16.000000C79.000000 2.000000,93.000000 11.000000,108.000000 11.000000C120.000000 11.000000,138.000000 3.000000,145.000000 -17.000000C146.000000 -19.000000,158.000000 -66.000000,164.000000 -91.000000L186.000000 -181.000000C192.000000 -203.000000,198.000000 -225.000000,203.000000 -248.000000C207.000000 -265.000000,215.000000 -294.000000,216.000000 -298.000000C231.000000 -329.000000,284.000000 -420.000000,379.000000 -420.000000C424.000000 -420.000000,433.000000 -383.000000,433.000000 -350.000000C433.000000 -325.000000,426.000000 -297.000000,418.000000 -267.000000L390.000000 -151.000000L370.000000 -75.000000C366.000000 -55.000000,357.000000 -21.000000,357.000000 -16.000000C357.000000 2.000000,371.000000 11.000000,386.000000 11.000000C417.000000 11.000000,423.000000 -14.000000,431.000000 -46.000000C445.000000 -102.000000,482.000000 -248.000000,491.000000 -287.000000C494.000000 -300.000000,547.000000 -420.000000,656.000000 -420.000000C699.000000 -420.000000,710.000000 -386.000000,710.000000 -350.000000C710.000000 -293.000000,668.000000 -179.000000,648.000000 -126.000000C639.000000 -102.000000,635.000000 -91.000000,635.000000 -71.000000C635.000000 -24.000000,670.000000 11.000000,717.000000 11.000000C811.000000 11.000000,848.000000 -135.000000,848.000000 -143.000000C848.000000 -153.000000,839.000000 -153.000000,836.000000 -153.000000C826.000000 -153.000000,826.000000 -150.000000,821.000000 -135.000000C806.000000 -82.000000,774.000000 -11.000000,719.000000 -11.000000C702.000000 -11.000000,695.000000 -21.000000,695.000000 -44.000000C695.000000 -69.000000,704.000000 -93.000000,713.000000 -115.000000C732.000000 -167.000000,774.000000 -278.000000,774.000000 -335.000000C774.000000 -400.000000,734.000000 -442.000000,659.000000 -442.000000C584.000000 -442.000000,533.000000 -398.000000,496.000000 -345.000000C495.000000 -358.000000,492.000000 -392.000000,464.000000 -416.000000C439.000000 -437.000000,407.000000 -442.000000,382.000000 -442.000000C292.000000 -442.000000,243.000000 -378.000000,226.000000 -355.000000C221.000000 -412.000000,179.000000 -442.000000,134.000000 -442.000000C88.000000 -442.000000,69.000000 -403.000000,60.000000 -385.000000C42.000000 -350.000000,29.000000 -291.000000,29.000000 -288.000000C29.000000 -278.000000,39.000000 -278.000000,41.000000 -278.000000C51.000000 -278.000000,52.000000 -279.000000,58.000000 -301.000000C75.000000 -372.000000,95.000000 -420.000000,131.000000 -420.000000C147.000000 -420.000000,162.000000 -412.000000,162.000000 -374.000000C162.000000 -353.000000,159.000000 -342.000000,146.000000 -290.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_120">
      <path style="fill-rule: evenodd;" d="M334.000000 -302.000000C340.000000 -328.000000,363.000000 -420.000000,433.000000 -420.000000C438.000000 -420.000000,462.000000 -420.000000,483.000000 -407.000000C455.000000 -402.000000,435.000000 -377.000000,435.000000 -353.000000C435.000000 -337.000000,446.000000 -318.000000,473.000000 -318.000000C495.000000 -318.000000,527.000000 -336.000000,527.000000 -376.000000C527.000000 -428.000000,468.000000 -442.000000,434.000000 -442.000000C376.000000 -442.000000,341.000000 -389.000000,329.000000 -366.000000C304.000000 -432.000000,250.000000 -442.000000,221.000000 -442.000000C117.000000 -442.000000,60.000000 -313.000000,60.000000 -288.000000C60.000000 -278.000000,70.000000 -278.000000,72.000000 -278.000000C80.000000 -278.000000,83.000000 -280.000000,85.000000 -289.000000C119.000000 -395.000000,185.000000 -420.000000,219.000000 -420.000000C238.000000 -420.000000,273.000000 -411.000000,273.000000 -353.000000C273.000000 -322.000000,256.000000 -255.000000,219.000000 -115.000000C203.000000 -53.000000,168.000000 -11.000000,124.000000 -11.000000C118.000000 -11.000000,95.000000 -11.000000,74.000000 -24.000000C99.000000 -29.000000,121.000000 -50.000000,121.000000 -78.000000C121.000000 -105.000000,99.000000 -113.000000,84.000000 -113.000000C54.000000 -113.000000,29.000000 -87.000000,29.000000 -55.000000C29.000000 -9.000000,79.000000 11.000000,123.000000 11.000000C189.000000 11.000000,225.000000 -59.000000,228.000000 -65.000000C240.000000 -28.000000,276.000000 11.000000,336.000000 11.000000C439.000000 11.000000,496.000000 -118.000000,496.000000 -143.000000C496.000000 -153.000000,487.000000 -153.000000,484.000000 -153.000000C475.000000 -153.000000,473.000000 -149.000000,471.000000 -142.000000C438.000000 -35.000000,370.000000 -11.000000,338.000000 -11.000000C299.000000 -11.000000,283.000000 -43.000000,283.000000 -77.000000C283.000000 -99.000000,289.000000 -121.000000,300.000000 -165.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHptmr8r_95">
      <path style="fill-rule: evenodd;" d="M500.000000 125.000000L500.000000 75.000000L0.000000 75.000000L0.000000 125.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.169495 8.036819)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_103"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,8.344406 8.036819)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_95"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,16.314529 8.036819)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_109"></use>
    <use xlink:href="#GLYPHcmmi10_97" x="8.780266"></use>
    <use xlink:href="#GLYPHcmmi10_120" x="14.066254"></use>
  </g>
</svg></span>. Additionally,
if the module size (as determined by the preceding <a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a>
call) drops below 4 pixels, the algorithm cannot be used and all
grades are reported as -1. The stated lower bounds help to define a reasonable
application window for the reference decoding algorithm. Finally, all grades
will be set to -1 if the algorithm fails during the module grid determination.
</p>
</dd>
</dl>

<p><i>Default:</i> <i><span data-if="hdevelop" style="display:inline">'robust'</span><span data-if="c" style="display:none">"robust"</span><span data-if="cpp" style="display:none">"robust"</span><span data-if="com" style="display:none">"robust"</span><span data-if="dotnet" style="display:none">"robust"</span><span data-if="python" style="display:none">"robust"</span></i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'candidate_selection'</span><span data-if="c" style="display:none">"candidate_selection"</span><span data-if="cpp" style="display:none">"candidate_selection"</span><span data-if="com" style="display:none">"candidate_selection"</span><span data-if="dotnet" style="display:none">"candidate_selection"</span><span data-if="python" style="display:none">"candidate_selection"</span></i>:</b></dt>
<dd>
<p>

Controls the selection of candidate regions that are used for symbol
detection. Setting this parameter to <i><span data-if="hdevelop" style="display:inline">'extensive'</span><span data-if="c" style="display:none">"extensive"</span><span data-if="cpp" style="display:none">"extensive"</span><span data-if="com" style="display:none">"extensive"</span><span data-if="dotnet" style="display:none">"extensive"</span><span data-if="python" style="display:none">"extensive"</span></i> increases
the number of generated candidate regions and thus the likelihood of
detecting a code. However, a higher number of candidates can lead to
higher runtimes. If <i><span data-if="hdevelop" style="display:inline">'candidate_selection'</span><span data-if="c" style="display:none">"candidate_selection"</span><span data-if="cpp" style="display:none">"candidate_selection"</span><span data-if="com" style="display:none">"candidate_selection"</span><span data-if="dotnet" style="display:none">"candidate_selection"</span><span data-if="python" style="display:none">"candidate_selection"</span></i> is set to
<i><span data-if="hdevelop" style="display:inline">'default'</span><span data-if="c" style="display:none">"default"</span><span data-if="cpp" style="display:none">"default"</span><span data-if="com" style="display:none">"default"</span><span data-if="dotnet" style="display:none">"default"</span><span data-if="python" style="display:none">"default"</span></i>, less candidate regions are used. In most cases
this smaller set of candidates is sufficient.</p>
<p>
<i>Values:</i> <i><span data-if="hdevelop" style="display:inline">'default'</span><span data-if="c" style="display:none">"default"</span><span data-if="cpp" style="display:none">"default"</span><span data-if="com" style="display:none">"default"</span><span data-if="dotnet" style="display:none">"default"</span><span data-if="python" style="display:none">"default"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'extensive'</span><span data-if="c" style="display:none">"extensive"</span><span data-if="cpp" style="display:none">"extensive"</span><span data-if="com" style="display:none">"extensive"</span><span data-if="dotnet" style="display:none">"extensive"</span><span data-if="python" style="display:none">"extensive"</span></i></p>
<p>
<i>Default:</i> <i><span data-if="hdevelop" style="display:inline">'default'</span><span data-if="c" style="display:none">"default"</span><span data-if="cpp" style="display:none">"default"</span><span data-if="com" style="display:none">"default"</span><span data-if="dotnet" style="display:none">"default"</span><span data-if="python" style="display:none">"default"</span></i> (enhanced: <i><span data-if="hdevelop" style="display:inline">'extensive'</span><span data-if="c" style="display:none">"extensive"</span><span data-if="cpp" style="display:none">"extensive"</span><span data-if="com" style="display:none">"extensive"</span><span data-if="dotnet" style="display:none">"extensive"</span><span data-if="python" style="display:none">"extensive"</span></i>)
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'decoding_scheme'</span><span data-if="c" style="display:none">"decoding_scheme"</span><span data-if="cpp" style="display:none">"decoding_scheme"</span><span data-if="com" style="display:none">"decoding_scheme"</span><span data-if="dotnet" style="display:none">"decoding_scheme"</span><span data-if="python" style="display:none">"decoding_scheme"</span></i>:</b></dt>
<dd>
<p>

Controls the decoding step of Data Matrix ECC 200. When setting this
to <i><span data-if="hdevelop" style="display:inline">'raw'</span><span data-if="c" style="display:none">"raw"</span><span data-if="cpp" style="display:none">"raw"</span><span data-if="com" style="display:none">"raw"</span><span data-if="dotnet" style="display:none">"raw"</span><span data-if="python" style="display:none">"raw"</span></i>, this allows to read symbols where the appearance
and the error correction step conform to ISO/IEC 16022:2006, but where
the encoding is custom. The decoded data are the error corrected data,
are retrieved with the <i><span data-if="hdevelop" style="display:inline">'decoded_data'</span><span data-if="c" style="display:none">"decoded_data"</span><span data-if="cpp" style="display:none">"decoded_data"</span><span data-if="com" style="display:none">"decoded_data"</span><span data-if="dotnet" style="display:none">"decoded_data"</span><span data-if="python" style="display:none">"decoded_data"</span></i> parameter of
<a href="get_data_code_2d_results.html"><code><span data-if="hdevelop" style="display:inline">get_data_code_2d_results</span><span data-if="c" style="display:none">get_data_code_2d_results</span><span data-if="cpp" style="display:none">GetDataCode2dResults</span><span data-if="com" style="display:none">GetDataCode2dResults</span><span data-if="dotnet" style="display:none">GetDataCode2dResults</span><span data-if="python" style="display:none">get_data_code_2d_results</span></code></a> and must be further processed by
the user. </p>
<p>
<i>Values:</i> <i><span data-if="hdevelop" style="display:inline">'default'</span><span data-if="c" style="display:none">"default"</span><span data-if="cpp" style="display:none">"default"</span><span data-if="com" style="display:none">"default"</span><span data-if="dotnet" style="display:none">"default"</span><span data-if="python" style="display:none">"default"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'raw'</span><span data-if="c" style="display:none">"raw"</span><span data-if="cpp" style="display:none">"raw"</span><span data-if="com" style="display:none">"raw"</span><span data-if="dotnet" style="display:none">"raw"</span><span data-if="python" style="display:none">"raw"</span></i></p>
<p>
<i>Default:</i> <i><span data-if="hdevelop" style="display:inline">'default'</span><span data-if="c" style="display:none">"default"</span><span data-if="cpp" style="display:none">"default"</span><span data-if="com" style="display:none">"default"</span><span data-if="dotnet" style="display:none">"default"</span><span data-if="python" style="display:none">"default"</span></i>
</p>
</dd>
</dl>

</li>
<li>
<p> DotCode:
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'candidate_selection'</span><span data-if="c" style="display:none">"candidate_selection"</span><span data-if="cpp" style="display:none">"candidate_selection"</span><span data-if="com" style="display:none">"candidate_selection"</span><span data-if="dotnet" style="display:none">"candidate_selection"</span><span data-if="python" style="display:none">"candidate_selection"</span></i>:</b></dt>
<dd>
<p>

Controls the selection of candidate regions that are used for symbol
detection. Setting this parameter to <i><span data-if="hdevelop" style="display:inline">'extensive'</span><span data-if="c" style="display:none">"extensive"</span><span data-if="cpp" style="display:none">"extensive"</span><span data-if="com" style="display:none">"extensive"</span><span data-if="dotnet" style="display:none">"extensive"</span><span data-if="python" style="display:none">"extensive"</span></i> increases
the number of generated candidate regions and thus the likelihood of
detecting a code. Setting this parameter to <i><span data-if="hdevelop" style="display:inline">'all'</span><span data-if="c" style="display:none">"all"</span><span data-if="cpp" style="display:none">"all"</span><span data-if="com" style="display:none">"all"</span><span data-if="dotnet" style="display:none">"all"</span><span data-if="python" style="display:none">"all"</span></i> all
possible candidates are used and therefore don't get filtered based on
their probability of being a DotCode.
If <i><span data-if="hdevelop" style="display:inline">'candidate_selection'</span><span data-if="c" style="display:none">"candidate_selection"</span><span data-if="cpp" style="display:none">"candidate_selection"</span><span data-if="com" style="display:none">"candidate_selection"</span><span data-if="dotnet" style="display:none">"candidate_selection"</span><span data-if="python" style="display:none">"candidate_selection"</span></i> is set to
<i><span data-if="hdevelop" style="display:inline">'default'</span><span data-if="c" style="display:none">"default"</span><span data-if="cpp" style="display:none">"default"</span><span data-if="com" style="display:none">"default"</span><span data-if="dotnet" style="display:none">"default"</span><span data-if="python" style="display:none">"default"</span></i>, less candidate regions are used.</p>
<p>
<i>Values:</i> <i><span data-if="hdevelop" style="display:inline">'default'</span><span data-if="c" style="display:none">"default"</span><span data-if="cpp" style="display:none">"default"</span><span data-if="com" style="display:none">"default"</span><span data-if="dotnet" style="display:none">"default"</span><span data-if="python" style="display:none">"default"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'extensive'</span><span data-if="c" style="display:none">"extensive"</span><span data-if="cpp" style="display:none">"extensive"</span><span data-if="com" style="display:none">"extensive"</span><span data-if="dotnet" style="display:none">"extensive"</span><span data-if="python" style="display:none">"extensive"</span></i>,<i><span data-if="hdevelop" style="display:inline">'all'</span><span data-if="c" style="display:none">"all"</span><span data-if="cpp" style="display:none">"all"</span><span data-if="com" style="display:none">"all"</span><span data-if="dotnet" style="display:none">"all"</span><span data-if="python" style="display:none">"all"</span></i></p>
<p>
<i>Default:</i> <i><span data-if="hdevelop" style="display:inline">'default'</span><span data-if="c" style="display:none">"default"</span><span data-if="cpp" style="display:none">"default"</span><span data-if="com" style="display:none">"default"</span><span data-if="dotnet" style="display:none">"default"</span><span data-if="python" style="display:none">"default"</span></i>
(enhanced: <i><span data-if="hdevelop" style="display:inline">'extensive'</span><span data-if="c" style="display:none">"extensive"</span><span data-if="cpp" style="display:none">"extensive"</span><span data-if="com" style="display:none">"extensive"</span><span data-if="dotnet" style="display:none">"extensive"</span><span data-if="python" style="display:none">"extensive"</span></i>, maximum: <i><span data-if="hdevelop" style="display:inline">'all'</span><span data-if="c" style="display:none">"all"</span><span data-if="cpp" style="display:none">"all"</span><span data-if="com" style="display:none">"all"</span><span data-if="dotnet" style="display:none">"all"</span><span data-if="python" style="display:none">"all"</span></i>)
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'max_allowed_error_correction'</span><span data-if="c" style="display:none">"max_allowed_error_correction"</span><span data-if="cpp" style="display:none">"max_allowed_error_correction"</span><span data-if="com" style="display:none">"max_allowed_error_correction"</span><span data-if="dotnet" style="display:none">"max_allowed_error_correction"</span><span data-if="python" style="display:none">"max_allowed_error_correction"</span></i>:</b></dt>
<dd>
<p>

Controls the maximum allowed error correction.
Due to the high error correction capacity, it is possible to
successfully decode false positive DotCode candidates.
Especially candidates which only cover a small part of a
real DotCode may be decoded successfully because of the
error correction capabilities. This is the case because DotCode symbols
can consist of almost every size. So there are fewer criteria
to decide whether the candidate is valid or not. In order to tackle
this problem, the parameter <i><span data-if="hdevelop" style="display:inline">'max_allowed_error_correction'</span><span data-if="c" style="display:none">"max_allowed_error_correction"</span><span data-if="cpp" style="display:none">"max_allowed_error_correction"</span><span data-if="com" style="display:none">"max_allowed_error_correction"</span><span data-if="dotnet" style="display:none">"max_allowed_error_correction"</span><span data-if="python" style="display:none">"max_allowed_error_correction"</span></i> can
be used to specify the percentage of maximum allowed error correction.
Per default the value is set to <i><span data-if="hdevelop" style="display:inline">'0.9'</span><span data-if="c" style="display:none">"0.9"</span><span data-if="cpp" style="display:none">"0.9"</span><span data-if="com" style="display:none">"0.9"</span><span data-if="dotnet" style="display:none">"0.9"</span><span data-if="python" style="display:none">"0.9"</span></i>, which means
90%. This choice helps to reduce the number of false reads without any
significant impact on the number of correct decodes.
Setting the value to e.g., <i><span data-if="hdevelop" style="display:inline">'0.5'</span><span data-if="c" style="display:none">"0.5"</span><span data-if="cpp" style="display:none">"0.5"</span><span data-if="com" style="display:none">"0.5"</span><span data-if="dotnet" style="display:none">"0.5"</span><span data-if="python" style="display:none">"0.5"</span></i> means, only candidates which
could be decoded with maximum 50% used error correction, will be
returned as successfully decoded results.</p>
<p>
<i>Value range:</i> [<i>0.0</i> .. <i>1.0</i>] </p>
<p>
<i>Default:</i> <i><span data-if="hdevelop" style="display:inline">'0.9'</span><span data-if="c" style="display:none">"0.9"</span><span data-if="cpp" style="display:none">"0.9"</span><span data-if="com" style="display:none">"0.9"</span><span data-if="dotnet" style="display:none">"0.9"</span><span data-if="python" style="display:none">"0.9"</span></i>
</p>
</dd>
</dl>

</li>
</ul>
<p>When setting the model parameters, <b>attention</b> should be payed
especially to the following issues:
</p>
<ul>

<li>
<p>
Symbols whose size does not comply with the size restrictions
made in the model (with the generic parameters
<i><span data-if="hdevelop" style="display:inline">'symbol_rows*'</span><span data-if="c" style="display:none">"symbol_rows*"</span><span data-if="cpp" style="display:none">"symbol_rows*"</span><span data-if="com" style="display:none">"symbol_rows*"</span><span data-if="dotnet" style="display:none">"symbol_rows*"</span><span data-if="python" style="display:none">"symbol_rows*"</span></i>, <i><span data-if="hdevelop" style="display:inline">'symbol_cols*'</span><span data-if="c" style="display:none">"symbol_cols*"</span><span data-if="cpp" style="display:none">"symbol_cols*"</span><span data-if="com" style="display:none">"symbol_cols*"</span><span data-if="dotnet" style="display:none">"symbol_cols*"</span><span data-if="python" style="display:none">"symbol_cols*"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'symbol_size*'</span><span data-if="c" style="display:none">"symbol_size*"</span><span data-if="cpp" style="display:none">"symbol_size*"</span><span data-if="com" style="display:none">"symbol_size*"</span><span data-if="dotnet" style="display:none">"symbol_size*"</span><span data-if="python" style="display:none">"symbol_size*"</span></i>, or <i><span data-if="hdevelop" style="display:inline">'version*'</span><span data-if="c" style="display:none">"version*"</span><span data-if="cpp" style="display:none">"version*"</span><span data-if="com" style="display:none">"version*"</span><span data-if="dotnet" style="display:none">"version*"</span><span data-if="python" style="display:none">"version*"</span></i>) will not be
read if <i><span data-if="hdevelop" style="display:inline">'strict_model'</span><span data-if="c" style="display:none">"strict_model"</span><span data-if="cpp" style="display:none">"strict_model"</span><span data-if="com" style="display:none">"strict_model"</span><span data-if="dotnet" style="display:none">"strict_model"</span><span data-if="python" style="display:none">"strict_model"</span></i> is set to <i><span data-if="hdevelop" style="display:inline">'yes'</span><span data-if="c" style="display:none">"yes"</span><span data-if="cpp" style="display:none">"yes"</span><span data-if="com" style="display:none">"yes"</span><span data-if="dotnet" style="display:none">"yes"</span><span data-if="python" style="display:none">"yes"</span></i>, which
is the default.
This behavior is useful if symbols of a specific size have to be
detected while other symbols should be ignored.
On the other hand, neglecting this parameter can lead to
problems, e.g., if one symbol of an image sequence is
used to adjust the model (including the symbol size), but later
in the application the symbol size varies, which is quite common
in practice.
</p>
</li>
<li>
<p>
The run-time of <a href="find_data_code_2d.html"><code><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></code></a> depends mostly on the
following model parameters, namely in cases where the requested
number of symbols <em>cannot</em> be found in the image:
<i><span data-if="hdevelop" style="display:inline">'polarity'</span><span data-if="c" style="display:none">"polarity"</span><span data-if="cpp" style="display:none">"polarity"</span><span data-if="com" style="display:none">"polarity"</span><span data-if="dotnet" style="display:none">"polarity"</span><span data-if="python" style="display:none">"polarity"</span></i>, <i><span data-if="hdevelop" style="display:inline">'module_size_min'</span><span data-if="c" style="display:none">"module_size_min"</span><span data-if="cpp" style="display:none">"module_size_min"</span><span data-if="com" style="display:none">"module_size_min"</span><span data-if="dotnet" style="display:none">"module_size_min"</span><span data-if="python" style="display:none">"module_size_min"</span></i> (Data Matrix ECC 200, QR
Code, and Micro QR Code) and <i><span data-if="hdevelop" style="display:inline">'module_size_min'</span><span data-if="c" style="display:none">"module_size_min"</span><span data-if="cpp" style="display:none">"module_size_min"</span><span data-if="com" style="display:none">"module_size_min"</span><span data-if="dotnet" style="display:none">"module_size_min"</span><span data-if="python" style="display:none">"module_size_min"</span></i> together with
<i><span data-if="hdevelop" style="display:inline">'module_aspect_min'</span><span data-if="c" style="display:none">"module_aspect_min"</span><span data-if="cpp" style="display:none">"module_aspect_min"</span><span data-if="com" style="display:none">"module_aspect_min"</span><span data-if="dotnet" style="display:none">"module_aspect_min"</span><span data-if="python" style="display:none">"module_aspect_min"</span></i> (PDF417), and if the minimum module
size is very small also the parameters <i><span data-if="hdevelop" style="display:inline">'module_gap_*'</span><span data-if="c" style="display:none">"module_gap_*"</span><span data-if="cpp" style="display:none">"module_gap_*"</span><span data-if="com" style="display:none">"module_gap_*"</span><span data-if="dotnet" style="display:none">"module_gap_*"</span><span data-if="python" style="display:none">"module_gap_*"</span></i>
(Data Matrix ECC 200, Aztec Code, QR Code, and Micro QR Code), for QR Code also
<i><span data-if="hdevelop" style="display:inline">'position_pattern_min'</span><span data-if="c" style="display:none">"position_pattern_min"</span><span data-if="cpp" style="display:none">"position_pattern_min"</span><span data-if="com" style="display:none">"position_pattern_min"</span><span data-if="dotnet" style="display:none">"position_pattern_min"</span><span data-if="python" style="display:none">"position_pattern_min"</span></i>.
For Data Matrix ECC 200 symbols, if
<i><span data-if="hdevelop" style="display:inline">'finder_pattern_tolerance'</span><span data-if="c" style="display:none">"finder_pattern_tolerance"</span><span data-if="cpp" style="display:none">"finder_pattern_tolerance"</span><span data-if="com" style="display:none">"finder_pattern_tolerance"</span><span data-if="dotnet" style="display:none">"finder_pattern_tolerance"</span><span data-if="python" style="display:none">"finder_pattern_tolerance"</span></i> is set to <i><span data-if="hdevelop" style="display:inline">'high'</span><span data-if="c" style="display:none">"high"</span><span data-if="cpp" style="display:none">"high"</span><span data-if="com" style="display:none">"high"</span><span data-if="dotnet" style="display:none">"high"</span><span data-if="python" style="display:none">"high"</span></i> or
<i><span data-if="hdevelop" style="display:inline">'any'</span><span data-if="c" style="display:none">"any"</span><span data-if="cpp" style="display:none">"any"</span><span data-if="com" style="display:none">"any"</span><span data-if="dotnet" style="display:none">"any"</span><span data-if="python" style="display:none">"any"</span></i>, the symbol size should be restricted with
<i><span data-if="hdevelop" style="display:inline">'symbol_size_min'</span><span data-if="c" style="display:none">"symbol_size_min"</span><span data-if="cpp" style="display:none">"symbol_size_min"</span><span data-if="com" style="display:none">"symbol_size_min"</span><span data-if="dotnet" style="display:none">"symbol_size_min"</span><span data-if="python" style="display:none">"symbol_size_min"</span></i>, <i><span data-if="hdevelop" style="display:inline">'symbol_size_max'</span><span data-if="c" style="display:none">"symbol_size_max"</span><span data-if="cpp" style="display:none">"symbol_size_max"</span><span data-if="com" style="display:none">"symbol_size_max"</span><span data-if="dotnet" style="display:none">"symbol_size_max"</span><span data-if="python" style="display:none">"symbol_size_max"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'symbol_size'</span><span data-if="c" style="display:none">"symbol_size"</span><span data-if="cpp" style="display:none">"symbol_size"</span><span data-if="com" style="display:none">"symbol_size"</span><span data-if="dotnet" style="display:none">"symbol_size"</span><span data-if="python" style="display:none">"symbol_size"</span></i>, and <i><span data-if="hdevelop" style="display:inline">'symbol_shape'</span><span data-if="c" style="display:none">"symbol_shape"</span><span data-if="cpp" style="display:none">"symbol_shape"</span><span data-if="com" style="display:none">"symbol_shape"</span><span data-if="dotnet" style="display:none">"symbol_shape"</span><span data-if="python" style="display:none">"symbol_shape"</span></i> as narrow as
possible.
</p>
</li>
</ul>
<h2 id="sec_execution">运行信息</h2>
<ul>
  <li>多线程类型:可重入(与非独占操作符并行运行)。</li>
<li>多线程作用域:全局(可以从任何线程调用)。</li>
  <li>未经并行化处理。</li>
</ul>
<p>This operator modifies the state of the following input parameter:</p>
<ul><li><a href="#DataCodeHandle"><span data-if="hdevelop" style="display:inline">DataCodeHandle</span><span data-if="c" style="display:none">DataCodeHandle</span><span data-if="cpp" style="display:none">DataCodeHandle</span><span data-if="com" style="display:none">DataCodeHandle</span><span data-if="dotnet" style="display:none">dataCodeHandle</span><span data-if="python" style="display:none">data_code_handle</span></a></li></ul>
<p>During execution of this operator, access to the value of this parameter must be synchronized if it is used across multiple threads.</p>
<h2 id="sec_parameters">参数表</h2>
  <div class="par">
<div class="parhead">
<span id="DataCodeHandle" class="parname"><b><code><span data-if="hdevelop" style="display:inline">DataCodeHandle</span><span data-if="c" style="display:none">DataCodeHandle</span><span data-if="cpp" style="display:none">DataCodeHandle</span><span data-if="com" style="display:none">DataCodeHandle</span><span data-if="dotnet" style="display:none">dataCodeHandle</span><span data-if="python" style="display:none">data_code_handle</span></code></b> (input_control, state is modified)  </span><span>datacode_2d <code>→</code> <span data-if="dotnet" style="display:none"><a href="HDataCode2D.html">HDataCode2D</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">HHandle</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (handle)</span><span data-if="dotnet" style="display:none"> (<i>IntPtr</i>)</span><span data-if="cpp" style="display:none"> (<i>HHandle</i>)</span><span data-if="c" style="display:none"> (<i>handle</i>)</span></span>
</div>
<p class="pardesc">Handle of the 2D data code model.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="GenParamName" class="parname"><b><code><span data-if="hdevelop" style="display:inline">GenParamName</span><span data-if="c" style="display:none">GenParamName</span><span data-if="cpp" style="display:none">GenParamName</span><span data-if="com" style="display:none">GenParamName</span><span data-if="dotnet" style="display:none">genParamName</span><span data-if="python" style="display:none">gen_param_name</span></code></b> (input_control)  </span><span>attribute.name(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">MaybeSequence[str]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Names of the generic parameters that shall be
adjusted for the 2D data code.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'polarity'</span>
    <span data-if="c" style="display:none">"polarity"</span>
    <span data-if="cpp" style="display:none">"polarity"</span>
    <span data-if="com" style="display:none">"polarity"</span>
    <span data-if="dotnet" style="display:none">"polarity"</span>
    <span data-if="python" style="display:none">"polarity"</span>
</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'abort'</span><span data-if="c" style="display:none">"abort"</span><span data-if="cpp" style="display:none">"abort"</span><span data-if="com" style="display:none">"abort"</span><span data-if="dotnet" style="display:none">"abort"</span><span data-if="python" style="display:none">"abort"</span>, <span data-if="hdevelop" style="display:inline">'additional_levels'</span><span data-if="c" style="display:none">"additional_levels"</span><span data-if="cpp" style="display:none">"additional_levels"</span><span data-if="com" style="display:none">"additional_levels"</span><span data-if="dotnet" style="display:none">"additional_levels"</span><span data-if="python" style="display:none">"additional_levels"</span>, <span data-if="hdevelop" style="display:inline">'candidate_selection'</span><span data-if="c" style="display:none">"candidate_selection"</span><span data-if="cpp" style="display:none">"candidate_selection"</span><span data-if="com" style="display:none">"candidate_selection"</span><span data-if="dotnet" style="display:none">"candidate_selection"</span><span data-if="python" style="display:none">"candidate_selection"</span>, <span data-if="hdevelop" style="display:inline">'contrast_min'</span><span data-if="c" style="display:none">"contrast_min"</span><span data-if="cpp" style="display:none">"contrast_min"</span><span data-if="com" style="display:none">"contrast_min"</span><span data-if="dotnet" style="display:none">"contrast_min"</span><span data-if="python" style="display:none">"contrast_min"</span>, <span data-if="hdevelop" style="display:inline">'contrast_tolerance'</span><span data-if="c" style="display:none">"contrast_tolerance"</span><span data-if="cpp" style="display:none">"contrast_tolerance"</span><span data-if="com" style="display:none">"contrast_tolerance"</span><span data-if="dotnet" style="display:none">"contrast_tolerance"</span><span data-if="python" style="display:none">"contrast_tolerance"</span>, <span data-if="hdevelop" style="display:inline">'decoding_scheme'</span><span data-if="c" style="display:none">"decoding_scheme"</span><span data-if="cpp" style="display:none">"decoding_scheme"</span><span data-if="com" style="display:none">"decoding_scheme"</span><span data-if="dotnet" style="display:none">"decoding_scheme"</span><span data-if="python" style="display:none">"decoding_scheme"</span>, <span data-if="hdevelop" style="display:inline">'default_parameters'</span><span data-if="c" style="display:none">"default_parameters"</span><span data-if="cpp" style="display:none">"default_parameters"</span><span data-if="com" style="display:none">"default_parameters"</span><span data-if="dotnet" style="display:none">"default_parameters"</span><span data-if="python" style="display:none">"default_parameters"</span>, <span data-if="hdevelop" style="display:inline">'discard_undecoded_candidates'</span><span data-if="c" style="display:none">"discard_undecoded_candidates"</span><span data-if="cpp" style="display:none">"discard_undecoded_candidates"</span><span data-if="com" style="display:none">"discard_undecoded_candidates"</span><span data-if="dotnet" style="display:none">"discard_undecoded_candidates"</span><span data-if="python" style="display:none">"discard_undecoded_candidates"</span>, <span data-if="hdevelop" style="display:inline">'finder_pattern_tolerance'</span><span data-if="c" style="display:none">"finder_pattern_tolerance"</span><span data-if="cpp" style="display:none">"finder_pattern_tolerance"</span><span data-if="com" style="display:none">"finder_pattern_tolerance"</span><span data-if="dotnet" style="display:none">"finder_pattern_tolerance"</span><span data-if="python" style="display:none">"finder_pattern_tolerance"</span>, <span data-if="hdevelop" style="display:inline">'format'</span><span data-if="c" style="display:none">"format"</span><span data-if="cpp" style="display:none">"format"</span><span data-if="com" style="display:none">"format"</span><span data-if="dotnet" style="display:none">"format"</span><span data-if="python" style="display:none">"format"</span>, <span data-if="hdevelop" style="display:inline">'max_allowed_error_correction'</span><span data-if="c" style="display:none">"max_allowed_error_correction"</span><span data-if="cpp" style="display:none">"max_allowed_error_correction"</span><span data-if="com" style="display:none">"max_allowed_error_correction"</span><span data-if="dotnet" style="display:none">"max_allowed_error_correction"</span><span data-if="python" style="display:none">"max_allowed_error_correction"</span>, <span data-if="hdevelop" style="display:inline">'mirrored'</span><span data-if="c" style="display:none">"mirrored"</span><span data-if="cpp" style="display:none">"mirrored"</span><span data-if="com" style="display:none">"mirrored"</span><span data-if="dotnet" style="display:none">"mirrored"</span><span data-if="python" style="display:none">"mirrored"</span>, <span data-if="hdevelop" style="display:inline">'model_type'</span><span data-if="c" style="display:none">"model_type"</span><span data-if="cpp" style="display:none">"model_type"</span><span data-if="com" style="display:none">"model_type"</span><span data-if="dotnet" style="display:none">"model_type"</span><span data-if="python" style="display:none">"model_type"</span>, <span data-if="hdevelop" style="display:inline">'module_aspect'</span><span data-if="c" style="display:none">"module_aspect"</span><span data-if="cpp" style="display:none">"module_aspect"</span><span data-if="com" style="display:none">"module_aspect"</span><span data-if="dotnet" style="display:none">"module_aspect"</span><span data-if="python" style="display:none">"module_aspect"</span>, <span data-if="hdevelop" style="display:inline">'module_aspect_max'</span><span data-if="c" style="display:none">"module_aspect_max"</span><span data-if="cpp" style="display:none">"module_aspect_max"</span><span data-if="com" style="display:none">"module_aspect_max"</span><span data-if="dotnet" style="display:none">"module_aspect_max"</span><span data-if="python" style="display:none">"module_aspect_max"</span>, <span data-if="hdevelop" style="display:inline">'module_aspect_min'</span><span data-if="c" style="display:none">"module_aspect_min"</span><span data-if="cpp" style="display:none">"module_aspect_min"</span><span data-if="com" style="display:none">"module_aspect_min"</span><span data-if="dotnet" style="display:none">"module_aspect_min"</span><span data-if="python" style="display:none">"module_aspect_min"</span>, <span data-if="hdevelop" style="display:inline">'module_gap'</span><span data-if="c" style="display:none">"module_gap"</span><span data-if="cpp" style="display:none">"module_gap"</span><span data-if="com" style="display:none">"module_gap"</span><span data-if="dotnet" style="display:none">"module_gap"</span><span data-if="python" style="display:none">"module_gap"</span>, <span data-if="hdevelop" style="display:inline">'module_gap_max'</span><span data-if="c" style="display:none">"module_gap_max"</span><span data-if="cpp" style="display:none">"module_gap_max"</span><span data-if="com" style="display:none">"module_gap_max"</span><span data-if="dotnet" style="display:none">"module_gap_max"</span><span data-if="python" style="display:none">"module_gap_max"</span>, <span data-if="hdevelop" style="display:inline">'module_gap_min'</span><span data-if="c" style="display:none">"module_gap_min"</span><span data-if="cpp" style="display:none">"module_gap_min"</span><span data-if="com" style="display:none">"module_gap_min"</span><span data-if="dotnet" style="display:none">"module_gap_min"</span><span data-if="python" style="display:none">"module_gap_min"</span>, <span data-if="hdevelop" style="display:inline">'module_grid'</span><span data-if="c" style="display:none">"module_grid"</span><span data-if="cpp" style="display:none">"module_grid"</span><span data-if="com" style="display:none">"module_grid"</span><span data-if="dotnet" style="display:none">"module_grid"</span><span data-if="python" style="display:none">"module_grid"</span>, <span data-if="hdevelop" style="display:inline">'module_size'</span><span data-if="c" style="display:none">"module_size"</span><span data-if="cpp" style="display:none">"module_size"</span><span data-if="com" style="display:none">"module_size"</span><span data-if="dotnet" style="display:none">"module_size"</span><span data-if="python" style="display:none">"module_size"</span>, <span data-if="hdevelop" style="display:inline">'module_size_max'</span><span data-if="c" style="display:none">"module_size_max"</span><span data-if="cpp" style="display:none">"module_size_max"</span><span data-if="com" style="display:none">"module_size_max"</span><span data-if="dotnet" style="display:none">"module_size_max"</span><span data-if="python" style="display:none">"module_size_max"</span>, <span data-if="hdevelop" style="display:inline">'module_size_min'</span><span data-if="c" style="display:none">"module_size_min"</span><span data-if="cpp" style="display:none">"module_size_min"</span><span data-if="com" style="display:none">"module_size_min"</span><span data-if="dotnet" style="display:none">"module_size_min"</span><span data-if="python" style="display:none">"module_size_min"</span>, <span data-if="hdevelop" style="display:inline">'module_width'</span><span data-if="c" style="display:none">"module_width"</span><span data-if="cpp" style="display:none">"module_width"</span><span data-if="com" style="display:none">"module_width"</span><span data-if="dotnet" style="display:none">"module_width"</span><span data-if="python" style="display:none">"module_width"</span>, <span data-if="hdevelop" style="display:inline">'module_width_max'</span><span data-if="c" style="display:none">"module_width_max"</span><span data-if="cpp" style="display:none">"module_width_max"</span><span data-if="com" style="display:none">"module_width_max"</span><span data-if="dotnet" style="display:none">"module_width_max"</span><span data-if="python" style="display:none">"module_width_max"</span>, <span data-if="hdevelop" style="display:inline">'module_width_min'</span><span data-if="c" style="display:none">"module_width_min"</span><span data-if="cpp" style="display:none">"module_width_min"</span><span data-if="com" style="display:none">"module_width_min"</span><span data-if="dotnet" style="display:none">"module_width_min"</span><span data-if="python" style="display:none">"module_width_min"</span>, <span data-if="hdevelop" style="display:inline">'persistence'</span><span data-if="c" style="display:none">"persistence"</span><span data-if="cpp" style="display:none">"persistence"</span><span data-if="com" style="display:none">"persistence"</span><span data-if="dotnet" style="display:none">"persistence"</span><span data-if="python" style="display:none">"persistence"</span>, <span data-if="hdevelop" style="display:inline">'polarity'</span><span data-if="c" style="display:none">"polarity"</span><span data-if="cpp" style="display:none">"polarity"</span><span data-if="com" style="display:none">"polarity"</span><span data-if="dotnet" style="display:none">"polarity"</span><span data-if="python" style="display:none">"polarity"</span>, <span data-if="hdevelop" style="display:inline">'position_pattern_min'</span><span data-if="c" style="display:none">"position_pattern_min"</span><span data-if="cpp" style="display:none">"position_pattern_min"</span><span data-if="com" style="display:none">"position_pattern_min"</span><span data-if="dotnet" style="display:none">"position_pattern_min"</span><span data-if="python" style="display:none">"position_pattern_min"</span>, <span data-if="hdevelop" style="display:inline">'quality_isoiec15415_aperture_size'</span><span data-if="c" style="display:none">"quality_isoiec15415_aperture_size"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_aperture_size"</span><span data-if="com" style="display:none">"quality_isoiec15415_aperture_size"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_aperture_size"</span><span data-if="python" style="display:none">"quality_isoiec15415_aperture_size"</span>, <span data-if="hdevelop" style="display:inline">'quality_isoiec15415_decode_algorithm'</span><span data-if="c" style="display:none">"quality_isoiec15415_decode_algorithm"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_decode_algorithm"</span><span data-if="com" style="display:none">"quality_isoiec15415_decode_algorithm"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_decode_algorithm"</span><span data-if="python" style="display:none">"quality_isoiec15415_decode_algorithm"</span>, <span data-if="hdevelop" style="display:inline">'quality_isoiec15415_reflectance_reference'</span><span data-if="c" style="display:none">"quality_isoiec15415_reflectance_reference"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_reflectance_reference"</span><span data-if="com" style="display:none">"quality_isoiec15415_reflectance_reference"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_reflectance_reference"</span><span data-if="python" style="display:none">"quality_isoiec15415_reflectance_reference"</span>, <span data-if="hdevelop" style="display:inline">'quality_isoiec15415_smallest_module_size'</span><span data-if="c" style="display:none">"quality_isoiec15415_smallest_module_size"</span><span data-if="cpp" style="display:none">"quality_isoiec15415_smallest_module_size"</span><span data-if="com" style="display:none">"quality_isoiec15415_smallest_module_size"</span><span data-if="dotnet" style="display:none">"quality_isoiec15415_smallest_module_size"</span><span data-if="python" style="display:none">"quality_isoiec15415_smallest_module_size"</span>, <span data-if="hdevelop" style="display:inline">'slant_max'</span><span data-if="c" style="display:none">"slant_max"</span><span data-if="cpp" style="display:none">"slant_max"</span><span data-if="com" style="display:none">"slant_max"</span><span data-if="dotnet" style="display:none">"slant_max"</span><span data-if="python" style="display:none">"slant_max"</span>, <span data-if="hdevelop" style="display:inline">'small_modules_robustness'</span><span data-if="c" style="display:none">"small_modules_robustness"</span><span data-if="cpp" style="display:none">"small_modules_robustness"</span><span data-if="com" style="display:none">"small_modules_robustness"</span><span data-if="dotnet" style="display:none">"small_modules_robustness"</span><span data-if="python" style="display:none">"small_modules_robustness"</span>, <span data-if="hdevelop" style="display:inline">'strict_model'</span><span data-if="c" style="display:none">"strict_model"</span><span data-if="cpp" style="display:none">"strict_model"</span><span data-if="com" style="display:none">"strict_model"</span><span data-if="dotnet" style="display:none">"strict_model"</span><span data-if="python" style="display:none">"strict_model"</span>, <span data-if="hdevelop" style="display:inline">'strict_quiet_zone'</span><span data-if="c" style="display:none">"strict_quiet_zone"</span><span data-if="cpp" style="display:none">"strict_quiet_zone"</span><span data-if="com" style="display:none">"strict_quiet_zone"</span><span data-if="dotnet" style="display:none">"strict_quiet_zone"</span><span data-if="python" style="display:none">"strict_quiet_zone"</span>, <span data-if="hdevelop" style="display:inline">'string_encoding'</span><span data-if="c" style="display:none">"string_encoding"</span><span data-if="cpp" style="display:none">"string_encoding"</span><span data-if="com" style="display:none">"string_encoding"</span><span data-if="dotnet" style="display:none">"string_encoding"</span><span data-if="python" style="display:none">"string_encoding"</span>, <span data-if="hdevelop" style="display:inline">'symbol_cols'</span><span data-if="c" style="display:none">"symbol_cols"</span><span data-if="cpp" style="display:none">"symbol_cols"</span><span data-if="com" style="display:none">"symbol_cols"</span><span data-if="dotnet" style="display:none">"symbol_cols"</span><span data-if="python" style="display:none">"symbol_cols"</span>, <span data-if="hdevelop" style="display:inline">'symbol_cols_max'</span><span data-if="c" style="display:none">"symbol_cols_max"</span><span data-if="cpp" style="display:none">"symbol_cols_max"</span><span data-if="com" style="display:none">"symbol_cols_max"</span><span data-if="dotnet" style="display:none">"symbol_cols_max"</span><span data-if="python" style="display:none">"symbol_cols_max"</span>, <span data-if="hdevelop" style="display:inline">'symbol_cols_min'</span><span data-if="c" style="display:none">"symbol_cols_min"</span><span data-if="cpp" style="display:none">"symbol_cols_min"</span><span data-if="com" style="display:none">"symbol_cols_min"</span><span data-if="dotnet" style="display:none">"symbol_cols_min"</span><span data-if="python" style="display:none">"symbol_cols_min"</span>, <span data-if="hdevelop" style="display:inline">'symbol_rows'</span><span data-if="c" style="display:none">"symbol_rows"</span><span data-if="cpp" style="display:none">"symbol_rows"</span><span data-if="com" style="display:none">"symbol_rows"</span><span data-if="dotnet" style="display:none">"symbol_rows"</span><span data-if="python" style="display:none">"symbol_rows"</span>, <span data-if="hdevelop" style="display:inline">'symbol_rows_max'</span><span data-if="c" style="display:none">"symbol_rows_max"</span><span data-if="cpp" style="display:none">"symbol_rows_max"</span><span data-if="com" style="display:none">"symbol_rows_max"</span><span data-if="dotnet" style="display:none">"symbol_rows_max"</span><span data-if="python" style="display:none">"symbol_rows_max"</span>, <span data-if="hdevelop" style="display:inline">'symbol_rows_min'</span><span data-if="c" style="display:none">"symbol_rows_min"</span><span data-if="cpp" style="display:none">"symbol_rows_min"</span><span data-if="com" style="display:none">"symbol_rows_min"</span><span data-if="dotnet" style="display:none">"symbol_rows_min"</span><span data-if="python" style="display:none">"symbol_rows_min"</span>, <span data-if="hdevelop" style="display:inline">'symbol_shape'</span><span data-if="c" style="display:none">"symbol_shape"</span><span data-if="cpp" style="display:none">"symbol_shape"</span><span data-if="com" style="display:none">"symbol_shape"</span><span data-if="dotnet" style="display:none">"symbol_shape"</span><span data-if="python" style="display:none">"symbol_shape"</span>, <span data-if="hdevelop" style="display:inline">'symbol_size'</span><span data-if="c" style="display:none">"symbol_size"</span><span data-if="cpp" style="display:none">"symbol_size"</span><span data-if="com" style="display:none">"symbol_size"</span><span data-if="dotnet" style="display:none">"symbol_size"</span><span data-if="python" style="display:none">"symbol_size"</span>, <span data-if="hdevelop" style="display:inline">'symbol_size_max'</span><span data-if="c" style="display:none">"symbol_size_max"</span><span data-if="cpp" style="display:none">"symbol_size_max"</span><span data-if="com" style="display:none">"symbol_size_max"</span><span data-if="dotnet" style="display:none">"symbol_size_max"</span><span data-if="python" style="display:none">"symbol_size_max"</span>, <span data-if="hdevelop" style="display:inline">'symbol_size_min'</span><span data-if="c" style="display:none">"symbol_size_min"</span><span data-if="cpp" style="display:none">"symbol_size_min"</span><span data-if="com" style="display:none">"symbol_size_min"</span><span data-if="dotnet" style="display:none">"symbol_size_min"</span><span data-if="python" style="display:none">"symbol_size_min"</span>, <span data-if="hdevelop" style="display:inline">'timeout'</span><span data-if="c" style="display:none">"timeout"</span><span data-if="cpp" style="display:none">"timeout"</span><span data-if="com" style="display:none">"timeout"</span><span data-if="dotnet" style="display:none">"timeout"</span><span data-if="python" style="display:none">"timeout"</span>, <span data-if="hdevelop" style="display:inline">'trained'</span><span data-if="c" style="display:none">"trained"</span><span data-if="cpp" style="display:none">"trained"</span><span data-if="com" style="display:none">"trained"</span><span data-if="dotnet" style="display:none">"trained"</span><span data-if="python" style="display:none">"trained"</span>, <span data-if="hdevelop" style="display:inline">'version'</span><span data-if="c" style="display:none">"version"</span><span data-if="cpp" style="display:none">"version"</span><span data-if="com" style="display:none">"version"</span><span data-if="dotnet" style="display:none">"version"</span><span data-if="python" style="display:none">"version"</span>, <span data-if="hdevelop" style="display:inline">'version_max'</span><span data-if="c" style="display:none">"version_max"</span><span data-if="cpp" style="display:none">"version_max"</span><span data-if="com" style="display:none">"version_max"</span><span data-if="dotnet" style="display:none">"version_max"</span><span data-if="python" style="display:none">"version_max"</span>, <span data-if="hdevelop" style="display:inline">'version_min'</span><span data-if="c" style="display:none">"version_min"</span><span data-if="cpp" style="display:none">"version_min"</span><span data-if="com" style="display:none">"version_min"</span><span data-if="dotnet" style="display:none">"version_min"</span><span data-if="python" style="display:none">"version_min"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="GenParamValue" class="parname"><b><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></b> (input_control)  </span><span>attribute.value(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">MaybeSequence[Union[int, str, float]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string / </span><span data-if="hdevelop" style="display:inline">integer / </span><span data-if="hdevelop" style="display:inline">real)</span><span data-if="dotnet" style="display:none"> (<i>string</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long / </span><span data-if="dotnet" style="display:none">double)</span><span data-if="cpp" style="display:none"> (<i>HString</i> / </span><span data-if="cpp" style="display:none">Hlong / </span><span data-if="cpp" style="display:none">double)</span><span data-if="c" style="display:none"> (<i>char*</i> / </span><span data-if="c" style="display:none">Hlong / </span><span data-if="c" style="display:none">double)</span></span>
</div>
<p class="pardesc">Values of the generic parameters that are
adjusted for the 2D data code.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'light_on_dark'</span>
    <span data-if="c" style="display:none">"light_on_dark"</span>
    <span data-if="cpp" style="display:none">"light_on_dark"</span>
    <span data-if="com" style="display:none">"light_on_dark"</span>
    <span data-if="dotnet" style="display:none">"light_on_dark"</span>
    <span data-if="python" style="display:none">"light_on_dark"</span>
</p>
<p class="pardesc"><span class="parcat">Suggested values:
      </span><span data-if="hdevelop" style="display:inline">'standard_recognition'</span><span data-if="c" style="display:none">"standard_recognition"</span><span data-if="cpp" style="display:none">"standard_recognition"</span><span data-if="com" style="display:none">"standard_recognition"</span><span data-if="dotnet" style="display:none">"standard_recognition"</span><span data-if="python" style="display:none">"standard_recognition"</span>, <span data-if="hdevelop" style="display:inline">'enhanced_recognition'</span><span data-if="c" style="display:none">"enhanced_recognition"</span><span data-if="cpp" style="display:none">"enhanced_recognition"</span><span data-if="com" style="display:none">"enhanced_recognition"</span><span data-if="dotnet" style="display:none">"enhanced_recognition"</span><span data-if="python" style="display:none">"enhanced_recognition"</span>, <span data-if="hdevelop" style="display:inline">'maximum_recognition'</span><span data-if="c" style="display:none">"maximum_recognition"</span><span data-if="cpp" style="display:none">"maximum_recognition"</span><span data-if="com" style="display:none">"maximum_recognition"</span><span data-if="dotnet" style="display:none">"maximum_recognition"</span><span data-if="python" style="display:none">"maximum_recognition"</span>, <span data-if="hdevelop" style="display:inline">'all'</span><span data-if="c" style="display:none">"all"</span><span data-if="cpp" style="display:none">"all"</span><span data-if="com" style="display:none">"all"</span><span data-if="dotnet" style="display:none">"all"</span><span data-if="python" style="display:none">"all"</span>, <span data-if="hdevelop" style="display:inline">'yes'</span><span data-if="c" style="display:none">"yes"</span><span data-if="cpp" style="display:none">"yes"</span><span data-if="com" style="display:none">"yes"</span><span data-if="dotnet" style="display:none">"yes"</span><span data-if="python" style="display:none">"yes"</span>, <span data-if="hdevelop" style="display:inline">'no'</span><span data-if="c" style="display:none">"no"</span><span data-if="cpp" style="display:none">"no"</span><span data-if="com" style="display:none">"no"</span><span data-if="dotnet" style="display:none">"no"</span><span data-if="python" style="display:none">"no"</span>, <span data-if="hdevelop" style="display:inline">'any'</span><span data-if="c" style="display:none">"any"</span><span data-if="cpp" style="display:none">"any"</span><span data-if="com" style="display:none">"any"</span><span data-if="dotnet" style="display:none">"any"</span><span data-if="python" style="display:none">"any"</span>, <span data-if="hdevelop" style="display:inline">'dark_on_light'</span><span data-if="c" style="display:none">"dark_on_light"</span><span data-if="cpp" style="display:none">"dark_on_light"</span><span data-if="com" style="display:none">"dark_on_light"</span><span data-if="dotnet" style="display:none">"dark_on_light"</span><span data-if="python" style="display:none">"dark_on_light"</span>, <span data-if="hdevelop" style="display:inline">'light_on_dark'</span><span data-if="c" style="display:none">"light_on_dark"</span><span data-if="cpp" style="display:none">"light_on_dark"</span><span data-if="com" style="display:none">"light_on_dark"</span><span data-if="dotnet" style="display:none">"light_on_dark"</span><span data-if="python" style="display:none">"light_on_dark"</span>, <span data-if="hdevelop" style="display:inline">'square'</span><span data-if="c" style="display:none">"square"</span><span data-if="cpp" style="display:none">"square"</span><span data-if="com" style="display:none">"square"</span><span data-if="dotnet" style="display:none">"square"</span><span data-if="python" style="display:none">"square"</span>, <span data-if="hdevelop" style="display:inline">'rectangle'</span><span data-if="c" style="display:none">"rectangle"</span><span data-if="cpp" style="display:none">"rectangle"</span><span data-if="com" style="display:none">"rectangle"</span><span data-if="dotnet" style="display:none">"rectangle"</span><span data-if="python" style="display:none">"rectangle"</span>, <span data-if="hdevelop" style="display:inline">'small'</span><span data-if="c" style="display:none">"small"</span><span data-if="cpp" style="display:none">"small"</span><span data-if="com" style="display:none">"small"</span><span data-if="dotnet" style="display:none">"small"</span><span data-if="python" style="display:none">"small"</span>, <span data-if="hdevelop" style="display:inline">'big'</span><span data-if="c" style="display:none">"big"</span><span data-if="cpp" style="display:none">"big"</span><span data-if="com" style="display:none">"big"</span><span data-if="dotnet" style="display:none">"big"</span><span data-if="python" style="display:none">"big"</span>, <span data-if="hdevelop" style="display:inline">'fixed'</span><span data-if="c" style="display:none">"fixed"</span><span data-if="cpp" style="display:none">"fixed"</span><span data-if="com" style="display:none">"fixed"</span><span data-if="dotnet" style="display:none">"fixed"</span><span data-if="python" style="display:none">"fixed"</span>, <span data-if="hdevelop" style="display:inline">'variable'</span><span data-if="c" style="display:none">"variable"</span><span data-if="cpp" style="display:none">"variable"</span><span data-if="com" style="display:none">"variable"</span><span data-if="dotnet" style="display:none">"variable"</span><span data-if="python" style="display:none">"variable"</span>, <span data-if="hdevelop" style="display:inline">'low'</span><span data-if="c" style="display:none">"low"</span><span data-if="cpp" style="display:none">"low"</span><span data-if="com" style="display:none">"low"</span><span data-if="dotnet" style="display:none">"low"</span><span data-if="python" style="display:none">"low"</span>, <span data-if="hdevelop" style="display:inline">'high'</span><span data-if="c" style="display:none">"high"</span><span data-if="cpp" style="display:none">"high"</span><span data-if="com" style="display:none">"high"</span><span data-if="dotnet" style="display:none">"high"</span><span data-if="python" style="display:none">"high"</span>, <span data-if="hdevelop" style="display:inline">'default'</span><span data-if="c" style="display:none">"default"</span><span data-if="cpp" style="display:none">"default"</span><span data-if="com" style="display:none">"default"</span><span data-if="dotnet" style="display:none">"default"</span><span data-if="python" style="display:none">"default"</span>, <span data-if="hdevelop" style="display:inline">'extensive'</span><span data-if="c" style="display:none">"extensive"</span><span data-if="cpp" style="display:none">"extensive"</span><span data-if="com" style="display:none">"extensive"</span><span data-if="dotnet" style="display:none">"extensive"</span><span data-if="python" style="display:none">"extensive"</span>, <span data-if="hdevelop" style="display:inline">'utf8'</span><span data-if="c" style="display:none">"utf8"</span><span data-if="cpp" style="display:none">"utf8"</span><span data-if="com" style="display:none">"utf8"</span><span data-if="dotnet" style="display:none">"utf8"</span><span data-if="python" style="display:none">"utf8"</span>, <span data-if="hdevelop" style="display:inline">'locale'</span><span data-if="c" style="display:none">"locale"</span><span data-if="cpp" style="display:none">"locale"</span><span data-if="com" style="display:none">"locale"</span><span data-if="dotnet" style="display:none">"locale"</span><span data-if="python" style="display:none">"locale"</span>, <span data-if="hdevelop" style="display:inline">'raw'</span><span data-if="c" style="display:none">"raw"</span><span data-if="cpp" style="display:none">"raw"</span><span data-if="com" style="display:none">"raw"</span><span data-if="dotnet" style="display:none">"raw"</span><span data-if="python" style="display:none">"raw"</span>, <span data-if="hdevelop" style="display:inline">'robust'</span><span data-if="c" style="display:none">"robust"</span><span data-if="cpp" style="display:none">"robust"</span><span data-if="com" style="display:none">"robust"</span><span data-if="dotnet" style="display:none">"robust"</span><span data-if="python" style="display:none">"robust"</span>, <span data-if="hdevelop" style="display:inline">'reference'</span><span data-if="c" style="display:none">"reference"</span><span data-if="cpp" style="display:none">"reference"</span><span data-if="com" style="display:none">"reference"</span><span data-if="dotnet" style="display:none">"reference"</span><span data-if="python" style="display:none">"reference"</span>, 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 30, 50, 70, 90, 12, 14, 16, 18, 20, 22, 24, 26, 32, 36, 40, 44, 48, 52, 64, 72, 80, 88, 96, 104, 120, 132, 144</p>
</div>
<h2 id="sec_example_all">例程 (HDevelop)</h2>
<pre class="example">
* This examples shows how a model can be adapted to a specific symbol if
* the symbol parameters are known

* Create a model for reading Data matrix ECC 200 codes
create_data_code_2d_model ('Data Matrix ECC 200', [], [], DataCodeHandle)
* Restrict the model by setting the module size
set_data_code_2d_param (DataCodeHandle, \
                        ['module_size_min','module_size_max'], [4,7])
* Change the polarity setting of the model from 'dark_on_light' to
* 'light_on_dark'
set_data_code_2d_param (DataCodeHandle, 'polarity', \
                        'light_on_dark')

* Read an image
read_image (Image, 'datacode/ecc200/ecc200_cpu_010')
* Read the symbol in the image
find_data_code_2d (Image, SymbolXLDs, DataCodeHandle, [], [], \
                   ResultHandles, DecodedDataStrings)
* Clear the model
clear_data_code_2d_model (DataCodeHandle)
</pre>
<h2 id="sec_result">结果</h2>
<p>该算子 <code><span data-if="hdevelop" style="display:inline">set_data_code_2d_param</span><span data-if="c" style="display:none">set_data_code_2d_param</span><span data-if="cpp" style="display:none">SetDataCode2dParam</span><span data-if="com" style="display:none">SetDataCode2dParam</span><span data-if="dotnet" style="display:none">SetDataCode2dParam</span><span data-if="python" style="display:none">set_data_code_2d_param</span></code> 返回值 <TT>2</TT> (
      <TT>H_MSG_TRUE</TT>)
    
if the given parameters are correct.
Otherwise, an exception is raised.</p>
<h2 id="sec_predecessors">可能的前置算子</h2>
<p>
<code><a href="create_data_code_2d_model.html"><span data-if="hdevelop" style="display:inline">create_data_code_2d_model</span><span data-if="c" style="display:none">create_data_code_2d_model</span><span data-if="cpp" style="display:none">CreateDataCode2dModel</span><span data-if="com" style="display:none">CreateDataCode2dModel</span><span data-if="dotnet" style="display:none">CreateDataCode2dModel</span><span data-if="python" style="display:none">create_data_code_2d_model</span></a></code>, 
<code><a href="read_data_code_2d_model.html"><span data-if="hdevelop" style="display:inline">read_data_code_2d_model</span><span data-if="c" style="display:none">read_data_code_2d_model</span><span data-if="cpp" style="display:none">ReadDataCode2dModel</span><span data-if="com" style="display:none">ReadDataCode2dModel</span><span data-if="dotnet" style="display:none">ReadDataCode2dModel</span><span data-if="python" style="display:none">read_data_code_2d_model</span></a></code>
</p>
<h2 id="sec_successors">可能的后置算子</h2>
<p>
<code><a href="get_data_code_2d_param.html"><span data-if="hdevelop" style="display:inline">get_data_code_2d_param</span><span data-if="c" style="display:none">get_data_code_2d_param</span><span data-if="cpp" style="display:none">GetDataCode2dParam</span><span data-if="com" style="display:none">GetDataCode2dParam</span><span data-if="dotnet" style="display:none">GetDataCode2dParam</span><span data-if="python" style="display:none">get_data_code_2d_param</span></a></code>, 
<code><a href="find_data_code_2d.html"><span data-if="hdevelop" style="display:inline">find_data_code_2d</span><span data-if="c" style="display:none">find_data_code_2d</span><span data-if="cpp" style="display:none">FindDataCode2d</span><span data-if="com" style="display:none">FindDataCode2d</span><span data-if="dotnet" style="display:none">FindDataCode2d</span><span data-if="python" style="display:none">find_data_code_2d</span></a></code>, 
<code><a href="write_data_code_2d_model.html"><span data-if="hdevelop" style="display:inline">write_data_code_2d_model</span><span data-if="c" style="display:none">write_data_code_2d_model</span><span data-if="cpp" style="display:none">WriteDataCode2dModel</span><span data-if="com" style="display:none">WriteDataCode2dModel</span><span data-if="dotnet" style="display:none">WriteDataCode2dModel</span><span data-if="python" style="display:none">write_data_code_2d_model</span></a></code>
</p>
<h2 id="sec_alternatives">可替代算子</h2>
<p>
<code><a href="read_data_code_2d_model.html"><span data-if="hdevelop" style="display:inline">read_data_code_2d_model</span><span data-if="c" style="display:none">read_data_code_2d_model</span><span data-if="cpp" style="display:none">ReadDataCode2dModel</span><span data-if="com" style="display:none">ReadDataCode2dModel</span><span data-if="dotnet" style="display:none">ReadDataCode2dModel</span><span data-if="python" style="display:none">read_data_code_2d_model</span></a></code>
</p>
<h2 id="sec_see">参考其它</h2>
<p>
<code><a href="query_data_code_2d_params.html"><span data-if="hdevelop" style="display:inline">query_data_code_2d_params</span><span data-if="c" style="display:none">query_data_code_2d_params</span><span data-if="cpp" style="display:none">QueryDataCode2dParams</span><span data-if="com" style="display:none">QueryDataCode2dParams</span><span data-if="dotnet" style="display:none">QueryDataCode2dParams</span><span data-if="python" style="display:none">query_data_code_2d_params</span></a></code>, 
<code><a href="get_data_code_2d_param.html"><span data-if="hdevelop" style="display:inline">get_data_code_2d_param</span><span data-if="c" style="display:none">get_data_code_2d_param</span><span data-if="cpp" style="display:none">GetDataCode2dParam</span><span data-if="com" style="display:none">GetDataCode2dParam</span><span data-if="dotnet" style="display:none">GetDataCode2dParam</span><span data-if="python" style="display:none">get_data_code_2d_param</span></a></code>, 
<code><a href="get_data_code_2d_results.html"><span data-if="hdevelop" style="display:inline">get_data_code_2d_results</span><span data-if="c" style="display:none">get_data_code_2d_results</span><span data-if="cpp" style="display:none">GetDataCode2dResults</span><span data-if="com" style="display:none">GetDataCode2dResults</span><span data-if="dotnet" style="display:none">GetDataCode2dResults</span><span data-if="python" style="display:none">get_data_code_2d_results</span></a></code>, 
<code><a href="get_data_code_2d_objects.html"><span data-if="hdevelop" style="display:inline">get_data_code_2d_objects</span><span data-if="c" style="display:none">get_data_code_2d_objects</span><span data-if="cpp" style="display:none">GetDataCode2dObjects</span><span data-if="com" style="display:none">GetDataCode2dObjects</span><span data-if="dotnet" style="display:none">GetDataCode2dObjects</span><span data-if="python" style="display:none">get_data_code_2d_objects</span></a></code>
</p>
<h2 id="sec_module">模块</h2>
<p>
Data Code</p>
<!--OP_REF_FOOTER_START-->
<hr>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div class="footer">
<div class="copyright">HALCON算子参考手册 Copyright © 2015-2023 51Halcon</div>
</div>
</div>
</body>
</html>
